|
@@ -0,0 +1,43 @@
|
|
|
+'''
|
|
|
+Таким образом, разница между __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()
|