2017-02-07 5 views
2

Pythonでは、時々変数stringを参照するために' 'を使用しています。時々私はそれを定義するために" "を使用して文字列変数を参照してください。例えば文字列変数を定義する際に ''と ""を使用する

が、以下の両方が

file_to_read = os.path.join(path, 'file.txt') 

file_to_read = os.path.join(path, "file.txt") 

私の質問を' '" "全くinterchangebleされていることである働くように私には思えますか?

+0

はい文字列を作成するという意味ではありますが、 –

+0

はい、いいえ、大抵はいですが、二重引用符の中に二重引用符をエスケープする必要があります。一重引用符の中で一重引用符をエスケープする必要があります。次に、複数行のstリング。 [docs](https://docs.python.org/3/tutorial/introduction.html#strings) –

答えて

0

Pythonには違いはありません。データに"文字が含まれている場合は通常'を使用し、その逆の場合は、内部に含まれる引用符をバックスラッシュエスケープしないようにします。

# This looks better than 'Moe\'s Tavern' 
"Moe's Tavern" 

# Similarly, this uses ' outside so the " inside doesn't need escaping 
'"Truth is what stands the test of experience" - Albert Einstein' 

# You can use triple-quotes (of either kind) if the data contains both ' and " 
'''There's no such thing as an "alternative fact"''' 

スタイルガイドもdocstringのため"""triple double quotes"""を使用することを推奨していますが、これはどのような方法で強制されていません。

+0

を読んでみてください。三重引用符で囲まれた文字列の場合は、二重引用符を使用してPEP 257:https://www.python.org/dev/peps/pep-0008/#string-quotes。 –

0

はい、Pythonの単一引用符( ')と二重引用符で( ")完全に互換性があります。しかし

(ベア心の中で、いずれかのために、あなたがして文字列を囲む引用符をエスケープする必要があります)一般的な方法は、表示される文字列を二重引用符で囲み、一重引用符で囲まれた他の "内部"文字列を囲むことです。

+0

@JohnColeman同じタイプのネストされた引用符を '\\'で最初にエスケープすることなく入れ子にすることはできないので、同じことではありません。 –

関連する問題