Не следует называть атрибут и метод одним и тем же. При этом мои подозрения, почему вы задаете этот вопрос, говорят мне, что я должен указать вам на @property
декоратор.
class Dog():
def __init__(self, name, age, breed):
self.name = name
self.age = age
self._breed = breed
@property
def breed(self):
return self._breed
Для вашего примера это излишне, но если у вас есть класс Dog
и конкретная порода, я думаю, вы думаете о подклассах и, возможно, более сложных вещах, чем здесь. По сути, декоратор @property
позволит вам получить доступ к breed
в качестве атрибута и вернет значение вызова функции, которую вы определили для него под тем же именем.