2017-08-09 14 views
2

、あなたは特別な方法で.formatを使用することができます。datetimeと同様にカスタムフォーマッタをクラスに追加するにはどうすればよいですか? DateTimeオブジェクトで

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

は、これらは、DateTimeオブジェクトのためのthe usual formattersです。

どのようなクラスにもカスタムの方法でフォーマットすることはできますか?どうやって?

+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' 
関連する問題