Python - 在没有`self` inside __init__的情况下访问实例属性

时间:2017-01-13 20:04:19

标签: python oop conventions convention

我的问题主要是风格或惯例;但是,它可能会产生一些后果,这些后果对我来说不会影响使用哪种风格。

如果我有一个类,其中实例属性由__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)

1 个答案:

答案 0 :(得分:1)

有时每次初始化都会有额外的逻辑:

def __init__(self, uno, dos=None):
    self.uno = list(uno)
    self.dos = dos or default_dos()

在这种情况下,重用参数会导致错误。