2017-08-09 55 views
2

隨着datetime對象,你可以在一個特殊的方式使用.format如何將自定義格式化程序添加到類似datetime的類中?

from datetime import datetime 
'{:%Y-%m-%d %H:%M}'.format(datetime(1990, 4, 28, 22, 30)) 

這些都是the usual formatters爲datetime對象。

我可以給任何類自定義的方式來格式化它們嗎?怎麼樣?

+0

的重複數據刪除技術的目標是指串只格式化。這個問題似乎是針對任意類的對象,儘管標題聽起來像'datetime'。我會說這不是一個騙局,但標題應該被編輯。 – C8H10N4O2

+0

@ C8H10N4O2我試圖改進標題。 –

+1

@ C8H10N4O2 https://stackoverflow.com/a/19864463/846892。 '__format__'是非常有名的,你可以很容易地找到更多的傻瓜,例如:https://stackoverflow.com/q/28904602/846892 –

回答

1

就發現https://pyformat.info/了答案:

class HAL9000(object): 

    def __format__(self, format): 
     if (format == 'open-the-pod-bay-doors'): 
      return "I'm afraid I can't do that." 
     return 'HAL 9000' 
相關問題