object.__init__
Инициализирует созданный ранее экземпляр класса.
object.__init__(self[, ...])
-> None
self -- Ссылка на экземпляр.
... -- Позиционные и/или именованные аргументы, играющие роль в процессе инициализации экземпляра. Это аргументы, которые были переданы в выражении конструирования экземпляра.
... -- Позиционные и/или именованные аргументы, играющие роль в процессе инициализации экземпляра. Это аргументы, которые были переданы в выражении конструирования экземпляра.
Данный метод вызывается после того, как экземпляр типа был создан методом __new__(), но до того как он будет возвращён запросившему конструирование коду. Таким образом, оба метода участвуют в конструировании экземпляра.
Для того, чтобы гарантировать полноценную инициализацию экземпляра в случаях, когда базовый класс тоже определяет данный метод, класс наследник должен явно вызвать инициализатор родителя:
class Something:
def __init__(self, a=1, b='да'):
print('инициализируем')
self.my_a = a
self.my_b = b
my_obj = Something(b='нет') # инициализируем
my_obj.my_a # 1
my_obj.my_b # 'нет'
Для того, чтобы гарантировать полноценную инициализацию экземпляра в случаях, когда базовый класс тоже определяет данный метод, класс наследник должен явно вызвать инициализатор родителя:
class SomethingElse(Something):
def __init__(self, *args, **kwargs):
print('инициализируем наследника')
super().__init__(self, *args, **kwargs)
my_obj = SomethingElse(b='возможно')
# инициализируем наследника
# инициализируем
my_obj.my_b # 'возможно'
На заметку
Попытка вернуть из метода значение отличное от
None
вызовет TypeError.
Синонимы поиска: object.__init__, object, __init__
В разделе «object (объект)»:
file (файл)
object.__add__
object.__bool__
object.__call__
object.__ceil__
object.__class__
object.__cmp__
object.__contains__
object.__copy__
object.__deepcopy__
object.__del__
object.__delattr__
object.__delete__
object.__delitem__
object.__delslice__
object.__dir__
object.__enter__
object.__eq__
object.__exit__
object.__floor__
object.__format__
object.__ge__
object.__get__
object.__getattr__
object.__getattribute__
object.__getitem__
object.__getslice__
object.__getstate__
object.__gt__
object.__hash__
object.__init_subclass__
object.__iter__
object.__le__
object.__len__
object.__lt__
object.__missing__
object.__ne__
object.__new__
object.__next__
object.next
object.__nonzero__
object.__qualname__
object.__rcmp__
object.__repr__
object.__reversed__
object.__set__
object.__setattr__
object.__setitem__
object.__set_name__
object.__setslice__
object.__setstate__
object.__slots__
object.__str__
object.__sub__
object.__subclasses__
object.__unicode__
property (свойство)
Protocols (протоколы)
slice (срез)
Встроенные исключения
На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.