Вам просто нужно предоставить метод __str__
, и он будет вызываться всякий раз, когда что-то нужно для визуализации вашего объекта в виде строки.
Например, рассмотрим следующий класс:
class rrule:
def __init__ (self):
self.data = ""
def schedule (self, str):
self.data = str
def __str__ (self):
if self.data.startswith("d"):
return "Daily, %s" % (self.data[1:])
if self.data.startswith("m"):
return "Monthly, %s of the month" % (self.data[1:])
return "Unknown"
, который печатает себя, используя метод __str__
. Когда вы запускаете следующий код для этого класса:
xyzzy = rrule()
print (xyzzy)
xyzzy.schedule ("m3rd")
print (xyzzy)
xyzzy.schedule ("d4:30pm")
print (xyzzy)
вы видите следующий вывод:
Unknown
Monthly, 3rd of the month
Daily, 4:30pm