2017-01-13 2 views
-1

Мой вопрос во многом один из стилей или условностей; однако, это может иметь последствия, которые не очевидны для меня, что повлияет на использование стиля.Python - доступ к атрибуту экземпляра без `self.` внутри __init__

Если у меня есть класс, где атрибуты экземпляра определяются параметрами до __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) 
+0

У вас есть вызываемый модуль? ('MyOtherObject') Или это должно быть что-то вроде' from other_module import MyOtherClass'. – wim

+0

@wim Последнее верно; исправлено. – Johndt6

+0

К дублированию: Спасибо! Я немного искал и не мог найти аналогичный вопрос. Думаю, я не мог его найти, потому что название этого типа неверно. – Johndt6

ответ

1

Иногда возникает дополнительная логика в каждой инициализации:

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

В этом случае, повторное использование аргумента приведет к ошибке.

Смежные вопросы