2016-10-18 5 views
3

次のコマンドをPython IDLEで書くときに、出力に引用符を付けると、なぜそのような出力が得られるのか知りたいのですが。Pythonエスケープシーケンスコンプレックス出力

x='''''abc\'abcddd''''' 

print x 

これは、コードの出力です。

''abc'abcddd 
+1

複数行の文字列はPythonで改行を理解するための開始&終了 –

+1

で3重引用符、「\」を使用することがあります。

場所パイソンのスペースは、1「事」を考慮しています。 http://www.python.org/dev/peps/pep-0008/ –

+0

助けてくれてありがとう – iamjayp

答えて

3

それはニシキヘビのトリプル引用符で囲まれた文字列によるものです:

''' ''' 

それは文字としての間ですべてを解釈します。だからあなたの文字列に:

'''''abc\'abcddd''''' 

最初の3つの引用符は、文字列を開きます。それは文字として解釈する2つの引用符に遭遇するよりも。次に、エスケープされた見積もりが出現しますが、これは引用符として印刷されますが、エスケープされた見積もりは引き続き使用されます。最後の5つの引用符のうち最初の3つを見つけ、3重引用符で囲まれた文字列を終了します。その後、空文字列''を2つ以上引用符で囲みます。

''' ''abc\'abcddd ''' '' 
+1

良い答えですが、Pythonは自動的に連結します)隣接する文字列リテラル。 –

+0

しかし、問題は二重引用符が6の間隔で継続してくることです。つまり、二重引用符は5つの引用符で始まり、それから11の引用符、17の引用符、23の引用符そうです。これが起こっていると教えてもらえますか? – iamjayp