for*_*ran 44 python attributes coding-style
我想知道在Python中,在类的主体或__init__
函数内部初始化对象属性的最佳实践是什么?
即
class A(object):
foo = None
Run Code Online (Sandbox Code Playgroud)
VS
class A(object):
def __init__(self):
self.foo = None
Run Code Online (Sandbox Code Playgroud)
unu*_*tbu 55
如果希望该类的所有实例共享该属性,请使用class属性:
class A(object):
foo = None
Run Code Online (Sandbox Code Playgroud)
这将导致('foo',None)
是一个(key,value)
在一对A.__dict__
.
如果要基于每个实例自定义属性,请使用实例属性:
class A(object):
def __init__(self):
self.foo = None
Run Code Online (Sandbox Code Playgroud)
这将导致('foo',None)
是一个(key,value)
在一对a.__dict__
其中a=A()
是的一个实例A
.