以下内容之间是否有任何有意义的区别:
class A(object):
foo = 5 # some default value
与
class B(object):
def __init__(self, foo=5):
self.foo = foo
如果您正在创建大量实例,那么这两种风格在性能或空间需求上有什么区别吗?当您阅读代码时,您是否认为这两种样式的含义有显著不同?
发布于 2008-10-16 08:16:28
不同之处在于类上的属性由所有实例共享。实例上的属性对于该实例是唯一的。
如果来自C++,类上的属性更像是静态成员变量。
https://stackoverflow.com/questions/207000
复制相似问题