一、简介
Python是一门动态类型的、面向对象的语言,一切皆对象。
内置函数id(),用于返回该对象的内存地址。
a=1 b=1 print(id(a),id(b))
二、分析
==与is的区别:
Python对于[-5,256]的整数对象缓存在small_ints的链表中,引用这些整数时不再重新创造对象。
is用于判断两个引用指向的对象,即是否指向同一内存
from sys import getrefcount a = 257 b = 257 print(a is b) >>>flase
==比较的是两个对象的内容是否相等,默认调用_eq_()
print(a == b) >>>True
三、代码块
c =257 def foo(): a = 257 b =257 print(a is b) print (a is c) import dis foo() dis.dis(foo)
由结果可以得出c与foo为不同的代码块,在一个代码块中创建的整数对象,若已经存在则直接引用。