最終的に私の2.xコードで%
から.format()
文字列フォーマット演算子に切り替えました。これにより、将来的に3.xへの移行が容易になりました。 %
形式の書式設定がPy3に残っているだけでなく、標準ライブラリコードで広く使用されていることがわかりました。 '(%s)' % variable
を書くことは少し短く、おそらく理解するのが'({})'.format(variable)
よりも簡単なので論理的です。しかし、私はまだ疑いがあります。コード内で両方のアプローチを使用するのは適切ですか(pythonic?)? ありがとうございます。Python 3:%sと.format()を使用
答えて
Python 3.2のドキュメントでは、%
が最終的に消えてしまうという。 str.format()
以来
http://docs.python.org/3.2/tutorial/inputoutput.html#old-string-formatting
Pythonコードの多くは、まだ
%
演算子を使用して、非常に新しいです。ただし、この古い形式の書式は最終的に となり、str.format()
は通常 となります。
しかし@regilero saysとして、文は、それが実際にはそうではないのです示唆かもしれない、3.3からなくなっています。同じことを示唆するいくつかの会話hereがあります。 Python 3.4 the paragraph 7.1.1のよう
読み取り:
%演算子は、文字列の書式設定のために使用することができます。それは 右の引数に適用される になるsprintf()スタイルの書式文字列のように左の引数を と解釈し、 この書式設定操作の結果の文字列を返します。
"%s" は "}、{" 今、あなたが文字列に変数を追加したい場所を%sの{}でそれを置き換える追加のinsted。
def main():
n="Python 3.+"
l="looks nice"
f="does not look practical."
print("This seems to be the new way {}".format(n)\
+ "will be working, rather than the ' % ',{} but {}".format(l,f))
main()
#In comparison to just injecting the variable
出力無視のPython 3 + 『 が作業するのではなく、「%が;,『』素敵に見える「これは新しい方法をしているようで、』彼らは、説明上の理由からです引用符が
"実用的に見えません" "
この答えにいくつかの説明を追加してください。 – Andrei
- 1. Python 3 - [サブセット(S)のs]とyield
- 2. Pythonのpsycopg2 - 文字列内のDBNAMEと.format()を使用して
- 3. Python、.format()、UTF-8
- 4. .format()in Pythonケイパビリティ
- 5. python time format check
- 6. Python 3.5.2 .format()
- 7. Microsoft Face APIを使用しているPython POSTリクエストエラー "image format unsupported"
- 8. .formatのPython略記
- 9. PythonでPythonで%sを使用する方法%
- 10. Postgresのformat()の使用
- 11. Pythonの `format`を使用したローカル変数とグローバル変数によるテンプレート
- 12. 使い方sが対:私は、Python 3 <a href="https://docs.python.org/3/library/string.html#format-string-syntax">The documentation</a>で<code>:s</code>フォーマット文字列については本当に興味のPython
- 13. Python 3ソケットプログラミング:sendallとsendtoの使用
- 14. Python format time string to datetimeオブジェクト
- 15. boost :: lambdaでboost :: formatを使用する
- 16. formatサブスクリプトを使用したJavaScript日付
- 17. python regex repeat "'s"?
- 18. 変数%sを使用しないでPythonのSQLステートメント
- 19. sqlite3の - Pythonコードを使用して更新テーブル - %sの
- 20. Python - 設定ファイルの値に%sを使用
- 21. Hibernate 3 +トランザクションデッドロック(S#arpアーキテクチャ)
- 22. Android - Galaxy S-3とGalaxy S-4のレイアウトを区別する方法は?
- 23. \ sをエスケープ文字として使用できませんか?
- 24. Formatプロパティと式を使用する場合
- 25. DirectShowとWindows Media Format SDKを使用したライブストリーミング
- 26. Autotools - Python 3が利用可能なときにPython 2.7を使用する
- 27. Python 3:ロギングにマルチプロセッシングキューを使用する
- 28. AWSラムダでPython 3を使用
- 29. BazelはPython 3を使用します
- 30. twitter streaming API(Python 3を使用)
'% 'の書式設定は少し速いです。しかし、文字列の書式設定が大事な場合は、おそらく他の重要な懸案事項があります。 –