Python - 访问没有 `self.` 的实例属性 __init__
Python - Accessing instance attribute without `self.` inside __init__
我的问题主要是风格或惯例问题;但是,它可能会产生对我来说并不明显的后果,会影响使用哪种样式。
如果我有一个 class,其中实例属性由 __init__
的参数定义,是否可以直接访问这些参数而不是实例属性?举例如下:
from some_module import MyOtherClass
class MyClass(object)
def __init__(self, uno, dos):
self.uno = uno
self.dos = dos
""" This? """
MyOtherClass(uno)
MyOtherClass(dos)
""" Or this? """
MyOtherClass(self.uno)
MyOtherClass(self.dos)
有时候每次初始化都会有额外的逻辑:
def __init__(self, uno, dos=None):
self.uno = list(uno)
self.dos = dos or default_dos()
在那种情况下,重复使用参数会导致错误。
我的问题主要是风格或惯例问题;但是,它可能会产生对我来说并不明显的后果,会影响使用哪种样式。
如果我有一个 class,其中实例属性由 __init__
的参数定义,是否可以直接访问这些参数而不是实例属性?举例如下:
from some_module import MyOtherClass
class MyClass(object)
def __init__(self, uno, dos):
self.uno = uno
self.dos = dos
""" This? """
MyOtherClass(uno)
MyOtherClass(dos)
""" Or this? """
MyOtherClass(self.uno)
MyOtherClass(self.dos)
有时候每次初始化都会有额外的逻辑:
def __init__(self, uno, dos=None):
self.uno = list(uno)
self.dos = dos or default_dos()
在那种情况下,重复使用参数会导致错误。