- id:
print(id(x))
- 类型:
print(type(x))
- 值:
print(x)
判断值是否相等用==
name1= 'egon'
name2= 'nick'
print(name1==name2)
判断id是否相等:is判断id是否相等,
x=11
y=x
print(x == y)
print(x is y)
id相等,值一定相等,指向的都是一个内存地址;值相等,id不一定相等,
如果x=10000;y=10000
则会定义两个变量,即定义两个内存空间。但是如果x=10,y=10
。
python的内置功能id(),内存地址不一样,则id不一样,每一个变量值都有其内存地址,而id是用来反映变量值在内存中的位置,内存地址不同id则不同。x=info:<name:nick age:18>;y=info:<name:nick age:18>'
,x和y的内存空间地址相同。交互式环境下id是不一样的,也就是说值一样,但是他们的内存空间是不同的。这就是python的优化机制,10的值本身不大,并且快速的使用了10,由于申请内存空间需要计算机开销,因此python让x和y都指向同一个10,存不是目的,取才是目的,这样的话并不会影响python的使用。