1

ええと、私はいつもPythonで%rを使用していますが、これらの他の形式をいつ使用する必要があるのか​​わかりません...

4

2 に答える 2

16

これはPythonのドキュメントで説明されています。要するに、

  • %d表示用に数値をフォーマットします。
  • %sオブジェクトのプレゼンテーション文字列表現を挿入します(つまりstr(o)
  • %rオブジェクトの正規の文字列表現を挿入します(つまりrepr(o)

整数をフォーマットする場合、これらは同等です。ほとんどのオブジェクトでは、これは当てはまりません。

于 2013-03-02T03:36:08.020 に答える
11

JamesHenstridgeの答えを補足する例を次に示します。

class Cheese(float):
    def __str__(self):
        return 'Muenster'
    def __repr__(self):
        return 'Stilton'

chunk = Cheese(-123.4)

print(str(chunk))
# Muenster
print(repr(chunk))
# Stilton
print(int(chunk))
# -123
print('%s\t%r\t%d'%(chunk, chunk, chunk))
# Muenster  Stilton -123
于 2013-03-02T03:39:49.527 に答える