导入
一切皆为对象
将变量可视化为对内存中对象的引用,使用 `id()` 检查对象身份,并区分对象相等性(==)与对象身份(is)。
1# 创建变量会创建一个引用 2x = 100 3print(f"x 当前的值是: {x}") 4 5# 重新赋值 x 会将名称指向一个新的对象 6x = 200 7print(f"x 现在的值是: {x}")
1score = 98 2 3print(f"值: {score}") 4print(f"类型: {type(score)}") 5print(f"身份: {id(score)}")
1# 创建一个列表对象并将 'a' 绑定到它 2a = [10, 20, 30] 3 4# 将 'b' 绑定到与 'a' 相同的对象 5b = a 6 7print(f"a 的 ID: {id(a)}") 8print(f"b 的 ID: {id(b)}") 9 10# 检查它们是否是同一个对象 11print(f"a 和 b 是否指向同一个对象?{id(a) == id(b)}")
1# 创建两个内容相同但独立的列表 2list_1 = [1, 2, 3] 3list_2 = [1, 2, 3] 4 5# 值相等性检查 6print(f"值是否相等?{list_1 == list_2}") 7 8# 身份相等性检查(内存地址) 9print(f"它们是同一个对象吗?{list_1 is list_2}")
1# print 函数本身是一个对象 2my_printer = print 3 4print(f"print 的 ID: {id(print)}") 5print(f"my_printer 的 ID: {id(my_printer)}") 6 7# 我们可以使用新名称来调用该函数 8my_printer("这和 print 一样工作!")