Как упоминалось ранее, self.printInfo
инициализируется в __init__
, поэтому изменение self.name
не изменит его. Если вы хотите динамическое c Person
представление, вы можете переопределить __str__
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return self.name + " is " + self.age + " years old!"
jack = Person("Jack", "30")
print(jack.name)
print(jack.age)
print(jack) # Jack is 30 years old!
jack.name = "Abel"
jack.age = "25"
print(jack.name)
print(jack) # Abel is 25 years old!