26

将来の3.xへの移行を容易にするために、最終的に2.xコードで文字列フォーマット演算子に切り替えまし%た。-スタイルのフォーマットがPy3に残っている.format()だけでなく、標準ライブラリコードで広く使用されていることを知って少し驚きました。書くのは少し短く、おそらく理解しやすい%ので、それは論理的なようです。しかし、私はまだ疑問です。コードで両方のアプローチを使用するのは適切ですか(pythonic?)?ありがとうございました。'(%s)' % variable'({})'.format(variable)

4

2 に答える 2

28

Python 3.2 のドキュメントによると、%最終的にはなくなるでしょう。

http://docs.python.org/3.2/tutorial/inputoutput.html#old-string-formatting

は非常に新しいためstr.format()、多くの Python コードでまだ% 演算子が使用されています。ただし、この古いスタイルのフォーマットは最終的に言語から削除されるため、str.format()通常は を使用する必要があります。

しかし、@regilero が言うように、この文は 3.3 から削除されています。これは、実際にはそうではないことを示唆している可能性があります。同じことを示唆するいくつかの会話がここにあります。

Python 3.4 の時点で、パラグラフ 7.1.1 には次のように書かれています。

% 演算子は、文字列の書式設定にも使用できます。これは、右引数に適用される sprintf() スタイルのフォーマット文字列のように左引数を解釈し、このフォーマット操作の結果の文字列を返します。

Python 3.4 4.7.2 printf スタイルの文字列フォーマットも参照してください。

于 2013-02-07T14:50:58.157 に答える