12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- '''
- Таким образом, разница между __str__ и __repr__ заключается в целях
- использования. __str__ предназначен для представления объекта в читаемой
- форме, а __repr__ предназначен для представления объекта в точном и воспроизводимом виде.
- '''
- class Lion:
- def __init__(self, name):
- self.name = name
- '''Как видят объект разработчики'''
- def __repr__(self) -> str:
- return f'The name Lion - f{self.name}'
- '''Как видят объект пользователи. Функции print, str'''
- def __str__(self) -> str:
- return f'Lion - f{self.name}'
- class Person:
- def __init__(self, name, surname, gender='male'):
- self.name = name
- self.surname = surname
- if gender not in ['male', 'female']:
- print("Не знаю, что вы имели в виду? Пусть это будет мальчик!")
- self.gender = 'male'
- else:
- self.gender = gender
- def __str__(self):
- if self.gender == 'male':
- return f"Гражданин {self.surname} {self.name}"
- else:
- return
- def main():
- lion = Lion('Simba')
- print(lion) # __str__
- print(lion) # __str__
- if __name__ == '__main__':
- main()
|