Python变量声明:
python的类型只属于对象,不属于变量
python中变量声明不像其他语言(C、C++)一样要指定变量的类型,python的类型保存在对象当中,变量仅仅只是这个对象的引用,相当于一个指针,仅仅只保存其对象的地址。(python对象包含两个头部信息,一个是类型标志符,一个是引用计数)
python变量赋值:
python变量赋值不改变当前指向的对象,而是改变其引用。
如:
1 a = 42 # a保存了42在内存中的地址 2 b = a # a赋值给b,将地址赋值b,b和a指向同一个地址 3 a = 33 # 将33在内存中的地址赋给a,a指向33的内存地址
python优化之一:
对象的缓存和复用:
如:
1 n = 2E10 2 a = n + 1 3 b = n + 1 4 print(a == b) #True 5 print(a is b) #False 6 7 n = 43 8 a = n + 1 9 b = n + 1 10 print(a == b) #True 11 print(a is b) #True 12 13 14 x = 42 15 y = 42 16 print(x == y) #True 17 print(x is y) #True 18 19 m = ‘abc‘ 20 n = ‘abc‘ 21 print(m == n) #True 22 print(m is n) #True
python缓存并复用了小的整数和小的字符串