ようやく、2.xコードで_%
_から.format()
文字列フォーマット演算子に切り替えて、将来3.xへの移行を容易にしました。 _%
_スタイルの書式設定がPy3に残っているだけでなく、標準ライブラリコードで広く使用されていることを知って少し意外でした。 '(%s)' % variable
を書くのは'({})'.format(variable)
よりも少し短く、理解しやすいので、論理的に思えます。しかし、私はまだ疑っています。コードで両方のアプローチを使用することは適切ですか(pythonic?)?ありがとうございました。
Python 3.2のドキュメントによると、_%
_は最終的にはなくなる予定です。
http://docs.python.org/3.2/tutorial/inputoutput.html#old-string-formatting
str.format()
は非常に新しいため、多くのPythonコードは引き続き_%
_演算子を使用します。ただし、この古いスタイルのフォーマットは最終的には言語、str.format()
が一般的に使用されます。
しかし @ regileroが言う 、という文は3.3からなくなっているため、実際にはそうではない可能性があります。同じことを示唆するいくつかの会話 here があります。
Python 3.4の段落7.1.1 の時点では次のようになっています。
%演算子は、文字列のフォーマットにも使用できます。左の引数を、右の引数に適用されるsprintf()スタイルのフォーマット文字列と同じように解釈し、このフォーマット操作の結果の文字列を返します。