#python-3.x #class #constructor #magic-methods
Вопрос:
class Example:
def __init__(self):
print("constructor called")
obj = Example()
obj
является объектом MyClass
, если я вызову метод dunder __init__
.
obj
по умолчанию передается в качестве аргумента методу dunder при его вызове.
поэтому, когда я передаю obj
в качестве аргумента __init__
методу, например
obj.__init__(obj)
я бы получил это
TypeError: __init__() takes 1 positional argument but 2 were given
это означает, что были переданы два аргумента, по умолчанию obj
и тот, который я передал, но когда я делаю то же самое с объектом str
класса
str_object = ""
str_object.__init__(str_object)
ошибки не видно. почему это?