文字列の書式設定でプレースホルダを使用できますか?たとえば、次のような例が表示されます。プレースホルダによる文字列の書式設定
"some {plural?'people':'person'}".format(plural=True)
「some people」である必要があります。
"some {plural}".format(plural="people")
これは少し無用に聞こえるかもしれませんが、ユースケースががことができ、いくつかの言葉で多くの文字列です:基本的に、私は直接のすべての値などを提供するのではなく、フォーマット文字列に2つのオプションを切り替えることができますこれはコードを大幅に簡素化します。あなたはまた、ブール値を介してアクセスすることができ単数と複数の単語の辞書保持タプルのペアを作成することができ
plural = False
>>> print("some {people}".format(people='people' if plural else 'person'))
some person
:
いや、その機能はPythonのフォーマット文字列の一部ではありません。 – Ryan
なぜ複数か単数型かをチェックする関数を定義しないでください。すべての単数形と複数形のリストがあります。 –
@ Tom-OliverHeidelのアイデアは最も移植性が高いでしょう。私が個人的に使ったもう一つのものは、比較的簡単なインライン条件式とスタンドアロンの関数名 'pluralize()'を組み合わせたものです: '"%d * day%s "%(self.dperiod、pluralize(self .dperiod)) '。 ''複数形 ''の定義は ''複数形(count、ending = 's'、ones =( - 1,1))です。 – martineau