Как изменить переменную из метода в классе?

Подскажите как можно изменить переменные в "init" из метода "update_A", в чем ошибка? Заранее спасибо за ответ!

class A(object):
    def __init__(self):
        self.name = 'Boris'
        self.age = 12
        
    def update_A(self):
        self.name = 'Ivan'
        self.age = 30
        
X = A().update_A
print(X.name(), X.age())

Ответы (2 шт):

Автор решения: DGDays

Ну, все методы вызываются с помощью (). То есть, ваш вызов должен быть:

X = A().update_A()

Это должно сработать.

И добавьте ещё return self в конце метода, иначе не будет работать в одну строку и придётся делать так:

X = A()
X.update_A()
→ Ссылка
Автор решения: Danis

вам надо вызвать update_A. У вас self.name и self.age это не методы поэтому надо убрать круглые скобки

class A(object):
    def __init__(self):
        self.name = 'Boris'
        self.age = 12
        
    def update_A(self):
        self.name = 'Ivan'
        self.age = 30
        
X = A()
X.update_A() 
print(X.name, X.age) 

а если хотите чтобы работало в одну строку то надо добавить return self в конец метода update_A

class A(object):
    def __init__(self):
        self.name = 'Boris'
        self.age = 12
        
    def update_A(self):
        self.name = 'Ivan'
        self.age = 30
        return self

X = A().update_A() 
print(X.name, X.age)
→ Ссылка