6

コードにエスケープ文字を記述すると、何らかの理由でエスケープ文字が解釈されません。以前は Windows で作業していて、現在 Mac に変更したことは何か関係があるのでしょうか? Windowsで作業する前は、この問題は一度もありませんでした。検索してみましたが、これについては何も見つかりませんでした。よろしくお願いします。

これが私が意味することの例です:

print 'Hello \nWorld'

これから、次のことが期待できます。

>> Hello 
>> World

しかし、代わりに IDLE は正確に出力します:

>> 'Hello \nWorld'
4

1 に答える 1

8

文字列を印刷しているのではなく、文字列リテラルを印刷しています。それは文字列表現です:

>>> 'Hello\nWorld'
'Hello\nWorld'
>>> print 'Hello\nWorld'
Hello
World
>>> print repr('Hello\nWorld')
'Hello\nWorld'

Python インタラクティブ インタープリター (または IDLE) で変数をエコーするたびに、インタープリターは値をエコー バックします。

>>> var = 'Hello\nWorld'
>>> var
'Hello\nWorld'

ただし、値を出力すると同じ場所に出力されますが、まったく異なるアクションです。

>>> print var
Hello
World

たとえば、出力する関数を呼び出し、その関数が値を返した場合、両方が画面にエコーされます。

>>> function foo():
...     print 'Hello\nWorld'
...     return 'Goodbye\nWorld'
...
>>> foo()
Hello
World
'Goodbye\nWorld'

上記の例でHelloWorld、関数によって出力されましたが、関数'Goodbye\nWorld'の戻り値であり、インタープリターがその表現の形で私にエコーバックしてくれました。

于 2012-10-08T16:42:57.940 に答える