717 Stimmen

Einfache Anführungszeichen vs. doppelte Anführungszeichen in Python

Der Dokumentation zufolge sind sie so gut wie austauschbar. Gibt es einen stilistischen Grund für die Verwendung des einen statt des anderen?

0voto

Vinko Vrsalovic Punkte 252104

Der Geschmack Ihres Teams oder die Kodierungsrichtlinien Ihres Projekts.

Wenn Sie in einer mehrsprachigen Umgebung arbeiten, möchten Sie vielleicht die Verwendung der gleichen Art von Anführungszeichen für Zeichenketten fördern, wie sie die andere Sprache verwendet, zum Beispiel. Ansonsten mag ich persönlich am liebsten das Aussehen von '

0voto

Mario F Punkte 41039

Soviel ich weiß, nicht. Obwohl, wenn Sie einen Blick auf einige Code, " " wird häufig für Zeichenfolgen von Text (ich denke, ' ist häufiger innerhalb von Text als "), und ' ' erscheint in Hashkeys und Dinge wie das.

-1voto

Philipp Punkte 45643

Ich verwende doppelte Anführungszeichen, weil ich dies seit Jahren in den meisten Sprachen (C++, Java, VB ) tue, außer in Bash, weil ich auch in normalem Text doppelte Anführungszeichen verwende und weil ich eine (modifizierte) nicht-englische Tastatur verwende, bei der beide Zeichen die Umschalttaste erfordern.

-4voto

kn3l Punkte 18187

' = "

/ = \ = \\

Beispiel:

f = open('c:\word.txt', 'r')
f = open("c:\word.txt", "r")
f = open("c:/word.txt", "r")
f = open("c:\\\word.txt", "r")

Die Ergebnisse sind die gleichen

\=>> Nein, das ist nicht dasselbe. Ein einzelner Backslash trennt Zeichen. Sie haben in diesem Beispiel einfach Glück, denn \k y \w sind keine gültigen Escapes wie \t o \n o \\ o \"

Wenn Sie einzelne Backslashes verwenden möchten (und diese als solche interpretiert werden), müssen Sie eine "rohe" Zeichenkette verwenden. Sie können dies tun, indem Sie ein ' r ' vor der Zeichenkette

im_raw = r'c:\temp.txt'
non_raw = 'c:\\temp.txt'
another_way = 'c:/temp.txt'

Was Pfade in Windows betrifft, werden Schrägstriche auf die gleiche Weise interpretiert. Die Zeichenkette selbst ist jedoch eindeutig anders. Ich würde jedoch nicht garantieren, dass sie auf einem externen Gerät auf diese Weise gehandhabt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X