Это происходит потому, что ты не завел класс. Затем, когда вы используете метод get_val (), он не вызывает метод __init__ для инициализации __val.
В противном случае, если вы создадите экземпляр MyClass, он сохранит значение, определенное в методе init . Но MyClass.__val
все равно покажет -1, потому что это атрибут класса, а не атрибут экземпляра, подобный тому, который определен внутри init .
MyClass.__val = -1
m = MyClass()
print('Accessing attribute directly:', MyClass.__val)
print('Accessing attribute via getter:', MyClass.get_val())
