'''
变量的赋值是对象的地址的改变。根据对象的类别(可变对象,不可变对象)
来判别是否为共享引用。
'''
a=2
b=a
print(a,b)
a=a+2
print(a,b)
# 2 2
# 4 2 可见,若为不可变对象类型,则赋值的地址引用不是共享引用,相互之间独立
a=[1,2,3]
b=a
print(a,b)
a[2]=2
print(a,b)
# [1, 2, 3] [1, 2, 3]
# [1, 2, 2] [1, 2, 2] 可见,若为可变对象类型,则赋值的地址引用是共享引用,相互影响
class Bag:
bag=2
p=Bag()
q=p
print(p.bag)
print(q.bag)
q.bag=3
print(p.bag)
print(q.bag)
# 2
# 2
# 3 类对象的引用是共享引用,,除非创建新的对象,不然对老对象的操作赋值给另一个变量,另一个变量的变化还是
# 3 老对象的变化
浅谈对象的引用
最新推荐文章于 2023-06-22 14:07:45 发布