0
我有下面的代碼庫:捕獲__repr__函數的輸出以可變
from datetime import datetime
class Person:
def __init__(self,day,month,year):
self.day = day
self.mon = month
self.year = year
def __repr__(self):
if self.day < 10:
day = "0" + str(self.day)
else:
day = str(self.day)
if self.mon < 10:
mon = "0" + str(self.mon)
else:
mon = str(self.mon)
display = day + "-" + mon + "-" + str(self.year)
return display
def sortdates(l1):
for dates in l1:
date.finalbirthdate = datetime.strptime(str(print(dates)),"%d-%m-%Y")
print (date.finalbirthdate)
if __name__ == '__main__':
p1 = Person(18,9,1984)
print (p1)
p2 = Person(13,1,1988)
print (p2)
sortdates([p1,p2])
現在sortdates功能的主要功能是排序的Person對象按日期。爲此,我需要將Person對象的字符串表示轉換爲datetime對象。
此外,因爲我必須這樣做,我必須以某種方式捕獲字符串表示形式變量並將其傳遞給datetime.strptime函數。
有人可以請指導我如何做到這一點?
在此先感謝。
你爲什麼不使用'__str__',而不是...?您可以使用repl()函數 – abccd
'repr(日期)'會做到 - 刪除'str(print(...))' – AChampion
不知道爲什麼'datetime'被更改爲'DateTime' ... python only有'datetime',你可以在標準庫中導入。 –