3

私は、Learning Python the Hard Way の演習 8printを行っていますが、関数内の特定の行が一重引用符または二重引用符で囲まれている理由がわかりません。

プログラムは次のようになります。

formatter = "%r %r %r %r"

print formatter % (
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
)

出力は次のとおりです。

'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'

3 番目の文が二重引用符で囲まれ、他の文が単一引用符で囲まれているのはなぜですか?

4

2 に答える 2

2

は、それぞれが引用符で印刷されるようにformatter使用しています。これを行う関数は、デフォルトで区切り文字として一重引用符を使用しますが、文字列に一重引用符があり、文字列に二重引用符がない場合は、二重引用符を区切り文字として使用するように切り替えます。%rstr

たとえば、次を試してください。

print "%r" % '''This string has a ' and a " in it.'''
于 2015-08-23T18:54:49.203 に答える