Помимо ответов, которые вы уже получили (которые решают вашу проблему), я бы предложил не иметь метода, который печатает имя. Скорее у вас должен быть метод __str___
dunder, который определяет поведение объекта при печати экземпляра.
class human:
def __init__(self, name):
self.name = name
def __str__(self):
return self.name
person = human("bob")
print(person)
'bob'
Вы также можете определить поведение объекта, когда имя экземпляра введено в консоль, например, просто запустив строку
>>> person
Вы можете сделать это с помощью __repr__
:
def __repr__(self):
return f'when entering the instance name in the console: {self.name}'
Это напечатает:
when entering the instance name in the console: bob
Мне это кажется больше pythoni c, чем метод, который просто печатает имя.