如何使用* arg& ** kwarg in __init __()

时间:2018-01-16 04:42:24

标签: python-3.x initialization parameter-passing

对于我所拥有的类,如果在实例化期间未传递它们的值,我想为属性设置默认值。目前我正在做的是:

class MyClass():
   def __init__(self, attrA=None, attrB=None, ...)
   ...

这是pythonic方式吗?我可以在这里使用* arg或** kwarg并为实例化期间未传入的属性设置默认值,以便

myobj = MyClass()

设置attrA = None, attrb = None

myobj  = MyClas(attrA = <somevalue>)

设置attrA = <some value> and attrB = None, attrC = None等等

我还有setter方法,允许我在实例化后更新属性,如果需要的话。

0 个答案:

没有答案