Как напечатать объект в строку python
Ответы
Ivan Mamtsev
08 августа 2022
За строковое представление (то как будет выводиться объект при печати print) и то как он будет приводиться к строке отвечают методы __repr__
и __str__
соответсвенно.
class User:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
def __repr__(self):
return f'Name: {self.first_name}\nLast name: {self.last_name}'
def __str__(self):
return f'{self.first_name} {self.last_name}'
u = User('John', 'Smith')
print(u)
# => Name: John
# => Last name: Smith
str(u) # 'John Smith'
0
0