2017-01-10 3 views
0

単語を結果:ランニングと一致していないフォーマットに関するPythonドキュメントは、Pythonドキュメント<a href="https://docs.python.org/3/library/string.html#format-specification-mini-language" rel="nofollow noreferrer">Format Specification Mini-Language</a>に

一般的な規則では、あなたが呼ばれたかのように空のフォーマット文字列(「」)が同じ結果を生成することです値のstr()。

しかし、それはpython2とのpython3の両方から実際の結果と一致していません:

In [1]: "".format(100) 
Out[1]: '' 

In [2]: str(100) 
Out[2]: '100' 
+1

'format(100、 '')== '100''という意味です。あなたがそれをやっているやり方では、 ''{}'。format(100)'が必要です。これには空の書式文字列を持つ*プレースホルダー*があります。 – jonrsharpe

答えて

4

あなたは空テンプレート、ない空フォーマット文字列を持っています。書式文字列は、{..}プレースホルダ内のオプションの:の後の部分です。プレースホルダを完全に省略することで、値を配置する場所はどこにもありません。

だから、次は値にstr()と同じように生成します。

format() functionに2番目の引数として空の文字列がそうであるように
>>> '{:}'.format(100) 
'100' 
>>> '{}'.format(100) 
'100' 

:すべてのケースで

>>> format(100, '') 
'100' 

フォーマット文字列は空です。

Format Specification Mini-languageは、プレースホルダーの{:...}部分で使用できる書式設定操作のみ、またはformat()の2番目の引き数として使用できます。 テンプレート文字列str.format()メソッドを適用する部分)については、上のセクションのFormat String Syntax sectionを読む必要があります。

関連する問題

 関連する問題