python类的构造函数中属性可以设置默认值,实例化出来的对象如果属性使用默认值,默认值的地址是相同的。
class A:
def __init__(self, name = []):
self.__name = name
@property
def name(self):
return self.__name
a = A()
b = A()
c = A([])
d = A([])
print hex(id(a.name))
print hex(id(b.name))
print hex(id(c.name))
print hex(id(e.name))
打印结果,前两个地址是相同的,后两个地址互不相同且和前两个也不同