Frage

    

Diese Frage bereits eine Antwort hier:

         

In PHP, eine Zeichenfolge in „Anführungszeichen“ eingeschlossen wird für Variablen während einer Zeichenkette in ‚einfachen Anführungszeichen‘ nicht eingeschlossen ersetzen werden analysiert. In Python gilt dies auch?

War es hilfreich?

Lösung

No :

  

2.4.1. String und Bytes Literalen

     

... Im Klartext: Beiden Arten von Literalen können in passender Apostrophe (') oder doppelte Anführungszeichen (") eingeschlossen werden. Sie können auch in passenden Gruppen von drei einfachen oder doppelten Anführungszeichen eingeschlossen werden (diese werden allgemein als Triple-Strings in Anführungszeichen). Der Backslash (\) Zeichen wird verwendet, um Zeichen zu entkommen, die sonst eine besondere Bedeutung, wie Newline haben, Backslash selbst oder Anführungszeichen ...

Andere Tipps

Python ist eine der wenigen (?) Sprachen, in denen "und" identische Funktionalität. Die Wahl für mich in der Regel davon abhängig, was drin ist. Wenn ich schon eine Zeichenfolge zitieren, die einfache Anführungszeichen in sich hat, ich werde doppelte Anführungszeichen und umgekehrt, reduzieren auf, die Zeichen in der Zeichenfolge zu entkommen.

Beispiele:

"this doesn't require escaping the single quote"
'she said "quoting is easy in python"'

Dies ist auf der „Zeichenfolgenliteralen“ Seite der Python-Dokumentation dokumentiert:

In einigen anderen Sprachen sind Metazeichen nicht, wenn Sie einfache Anführungszeichen verwenden interpretiert. Nehmen Sie dieses Beispiel in Ruby:

irb(main):001:0> puts "string1\nstring2"
string1
string2
=> nil
irb(main):002:0> puts 'string1\nstring2'
string1\nstring2
=> nil

In Python, wenn Sie die Zeichenfolge wollen wörtlich genommen werden, können Sie rohe Strings verwenden (eine Zeichenfolge, die von den ‚r‘ Zeichen voran):

>>> print 'string1\nstring2'
string1
string2
>>> print r'string1\nstring2'
string1\nstring2

Die Einzel- und Doppel Strings in Anführungszeichen in Python sind identisch. Der einzige Unterschied besteht darin, dass Single-Strings in Anführungszeichen unescaped doppelte Anführungszeichen und umgekehrt enthalten. Zum Beispiel:

'a "quoted" word'
"another 'quoted' word"

erneut Dann gibt es Triple-Strings in Anführungszeichen, die beiden Zitate Zeichen und Zeilenumbrüche erlauben unescaped werden.

Sie können Variablen in einer Zeichenfolge mit dem Namen Bezeich ersetzen und die Einheimischen () builtin:

name = 'John'
lastname = 'Smith'
print 'My name is %(name)s %(lastname)s' % locals()  # prints 'My name is John Smith'

Die interaktiven Python-Interpreter bevorzugt einfache Anführungszeichen:

>>> "text"
'text'

>>> 'text'
'text'

Dies könnte für Anfänger verwirrend sein, also würde ich Stick mit einfachen Anführungszeichen (es sei denn, Sie verschiedene Kodierungsstandards haben).

Der Unterschied zwischen "und" String zitiert nur in der Art ist -. Außer dass derjenige, der die Notwendigkeit beseitigt, die andere in der Zeichenfolge Inhalt für die Flucht

Style

PEP8 empfiehlt eine einheitliche Regel, PEP257 dass Docstrings verwenden triple doppelte Anführungszeichen suggeriert.

  

In Python, single-quoted Strings und Strings in doppelten Anführungszeichen sind die   gleich. Dieser PEP keine Empfehlung für diese machen. Wählen Sie eine Regel   und auch daran halten. Wenn eine Zeichenfolge enthält einfache oder doppelte Anführungszeichen   Zeichen verwenden jedoch die anderen Schrägstriche in der zu vermeiden   String. Es verbessert die Lesbarkeit.

     

Für Triple-Strings in Anführungszeichen, verwenden Sie immer doppelte Anführungszeichen zu sein   im Einklang mit der docstring Konvention in PEP 257.

Am meisten benutzt jedoch ist die Praxis doppelte Anführungszeichen für natürliche Sprache Strings zu bevorzugen (einschließlich Interpolation) - also alles, was potentiell Kandidaten für L18N ist. Und einfache Anführungszeichen für technische Strings: Symbole, Zeichen, Pfade, Kommandozeilen-Optionen, technische Regexes, ...

(zum Beispiel, wenn der Code für L18N Vorbereitung Ich betreiben eine halbautomatische REGEX Umwandlung Doppel schnell Strings in Anführungszeichen für die Verwendung zum Beispiel gettext)

Es gibt drei Möglichkeiten, wie Sie Strings in Python qoute können: "String" 'String' „““ Schnur Schnur „““ sie alle das gleiche Ergebnis.

Es gibt keinen Unterschied in Python, und man kann es wirklich zu Ihrem Vorteil nutzen, wenn XML generieren. Die korrekte XML-Syntax erfordert doppelte Anführungszeichen um Attributwerte und in vielen Sprachen wie Java, zwingt man sich zu entkommen, wenn eine Zeichenfolge wie folgt zu erstellen:

String HtmlInJava = "<body bgcolor=\"Pink\">"

Aber in Python, verwenden Sie einfach das andere Angebot und stellen Sie sicher das passende Ende Zitat wie folgt zu verwenden:

html_in_python = '<body bgcolor="Pink">'

Pretty nice huh? Sie können auch drei doppelte Anführungszeichen verwenden, um mehrzeiligen Strings zu beginnen und enden mit der EOL ist wie folgt enthalten:

multiline_python_string = """
This is a multi-line Python string which contains line breaks in the 
resulting string variable, so this string has a '\n' after the word
'resulting' and the first word 'word'."""

Ja. Diese behaupten, einfache und doppelte Anführungszeichen sind identisch in Python sind einfach falsch.

Ansonsten wird im folgenden Code, die Strings in doppelten Anführungszeichen hätte keine zusätzliche 4,5% mehr für Python-Prozess wurde:

import time

time_single = 0
time_double = 0

for i in range(10000000):
    # String Using Single Quotes
    time1 = time.time()
    str_single1 = 'Somewhere over the rainbow dreams come true'
    str_single2 = str_single1
    time2 = time.time()
    time_elapsed = time2 - time1
    time_single += time_elapsed

    # String Using Double Quotes 
    time3 = time.time()
    str_double1 = "Somewhere over the rainbow dreams come true"
    str_double2 = str_double1
    time4 = time.time()
    time_elapsed = time4 - time3
    time_double += time_elapsed

print 'Time using single quotes: ' + str(time_single)
print 'Time using double quotes: ' + str(time_double)

Ausgabe:

>python_quotes_test.py
Time using single quotes: 13.9079978466
Time using double quotes: 14.5360121727

Also, wenn Sie wollen schnell sauber respektable Code, wo Sie scheinen Ihre Sachen zu kennen, verwenden Sie einfache Anführungszeichen für Strings, wann immer praktisch. Sie werden auch weniger Energie verbrauchen durch die Shift-Taste überspringen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top