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?

21voto

jblocksom Punkte 13199

Die dreifach zitierten Kommentare sind ein interessantes Unterthema dieser Frage. PEP 257 spezifiziert dreifache Anführungszeichen für Doc-Strings . Ich habe eine schnelle Überprüfung mit Google Code Search durchgeführt und festgestellt, dass dreifache doppelte Anführungszeichen in Python sind etwa 10x so beliebt wie dreifache einfache Anführungszeichen -- 1,3M gegenüber 131K Vorkommen im Code, den Google indiziert. Im mehrzeiligen Fall wird Ihr Code den Leuten also wahrscheinlich vertrauter sein, wenn er dreifache doppelte Anführungszeichen verwendet.

13voto

yurisich Punkte 6779
"If you're going to use apostrophes, 
       ^

you'll definitely want to use double quotes".
   ^

Aus diesem einfachen Grund verwende ich immer doppelte Anführungszeichen an der Außenseite. Immer

Apropos Fluff: Was nützt es, Ihre String-Literale mit ' zu rationalisieren, wenn Sie Escape-Zeichen verwenden müssen, um Apostrophe darzustellen? Beleidigt es Programmierer, Romane zu lesen? Ich kann mir nicht vorstellen, wie schmerzhaft der Englischunterricht in der Schule für Sie war!

7voto

Michael Punkte 81

Python verwendet Anführungszeichen etwa so:

mystringliteral1="this is a string with 'quotes'"
mystringliteral2='this is a string with "quotes"'
mystringliteral3="""this is a string with "quotes" and more 'quotes'"""
mystringliteral4='''this is a string with 'quotes' and more "quotes"'''
mystringliteral5='this is a string with \"quotes\"'
mystringliteral6='this is a string with \042quotes\042'
mystringliteral6='this is a string with \047quotes\047'

print mystringliteral1
print mystringliteral2
print mystringliteral3
print mystringliteral4
print mystringliteral5
print mystringliteral6

Das Ergebnis ist die folgende Ausgabe:

this is a string with 'quotes'
this is a string with "quotes"
this is a string with "quotes" and more 'quotes'
this is a string with 'quotes' and more "quotes"
this is a string with "quotes"
this is a string with 'quotes'

3voto

Matt Sheppard Punkte 113439

Ich verwende doppelte Anführungszeichen im Allgemeinen, aber nicht aus einem bestimmten Grund - wahrscheinlich nur aus Gewohnheit aus Java.

Es ist auch wahrscheinlicher, dass Sie Apostrophe in einem Inline-Literal benötigen, als dass Sie doppelte Anführungszeichen benötigen.

3voto

schwa Punkte 11942

Ich persönlich bleibe bei dem einen oder dem anderen. Es spielt keine Rolle. Und wenn Sie einem der beiden Zitate Ihre eigene Bedeutung geben, verwirren Sie nur andere Leute, wenn Sie mit ihnen zusammenarbeiten.

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