Это просто, как написан интерпретатор (или компилятор). Работа интерпретатора (или компилятора) состоит в том, чтобы распознать, что
MyClass()
должен инициализировать объект MyClass
и вызвать метод __init__
с вновь созданным объектом в качестве параметра self
,Обратите внимание, что, как отмечено в одном из комментариев, это новый объект, который назначен параметру self
, а не MyClass
.
В случае, когда вы вызываете метод без инициализацииинтерпретатор (или компилятор) также знает, что вы вызываете метод, поэтому он помещает объект в качестве первого аргумента.