' ' oder " "

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gofid
User
Beiträge: 13
Registriert: Sonntag 11. September 2011, 12:26

Hi,

hab mal 'ne Stil Frage.
' ' ist ja von der Funktion her das gleiche wie " ". Jetzt wollte ich mal fragen ob es da so eine Art ungeschriebenes Gebot (oder vielleicht ja auch geschriebenes) gibt wann man welches verwendet, da ich schon häufiger gesehen habe das z.B docstrings fast immer in """ """ gesetzt werden und Strings in Klammern eher in ' '. Ist das nur Zufall oder gehört das zum guten Coding Stil?

Gruss Gofid
BlackJack

@gofid: Docstrings in """ zu setzen ist IMHO wirklich eine allgemeine Konvention. Eine Zeit lang hatte das `pydoc`-Modul auch Probleme mit '''-Docstrings. Bei anderen literalen Zeichenketten ist es Geschmackssache. Ich verwende in der Regel ' weil das auch die bevorzugte `repr()`- beziehungsweise `ascii()`-Darstellung von allen mir bekannten Python-Implementierungen ist:

Code: Alles auswählen

In [7]: "hallo"
Out[7]: 'hallo'
gofid
User
Beiträge: 13
Registriert: Sonntag 11. September 2011, 12:26

Ok, danke Dir für die Info.
Trichter
User
Beiträge: 45
Registriert: Montag 20. April 2009, 10:21

Ich nehme für Docstrings """ und für alles andere ' (außer natürlich bei Sachen in denen ein Apostroph im String vorkommt und ich deshalb " nehmen muss).
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

... und ich nehme vorzugsweise ", weil das C++-STL-Strings und anderen String-Implementationen in C++ näher kommt - und das die Sprache ist, die mich sonst am häufigsten beschäftigt.

Letzendlich ist das Verwenden von " oder ' wohl eher Geschmackssache - mit den erwähnten Einschränkungen.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich nehme " einfach aus Gewohnheit, deswegen kann ich es auch schneller Tippen ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
gofid
User
Beiträge: 13
Registriert: Sonntag 11. September 2011, 12:26

@Trichter
in dem Fall kann man doch auch einfach einen \ vor den Apostroph setzen, oder ist das nicht so gut?

@all
Ich merk schon, da hat jeder seine eigenen Vorlieben. Danke für euren input() :mrgreen:

Gruss
Gofid
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

' erspart mir das drücken der Shift-Taste
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

BlackJack hat geschrieben:Ich verwende in der Regel ' weil das auch die bevorzugte `repr()`- beziehungsweise `ascii()`-Darstellung von allen mir bekannten Python-Implementierungen ist
dito
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

jens hat geschrieben:Ich nehme " einfach aus Gewohnheit, deswegen kann ich es auch schneller Tippen ;)
Ich nehme ' weil der Bildschirm dann nicht so viel schwarze Farbe verbraucht. ;)
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich nehme ' am Anfang und " am Ende, um keinen zu diskriminieren.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Ich nem immer ' keine Ahnung wieso, vielleicht deswegen weil ich zu faul bin die shift zu drücken, vielleicht weil's mir besser gefällt, ... aber soll jeder für sich selber entscheiden.

Aber mit gutem Stile Hat das nix zu tun.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

jbs hat geschrieben:Ich nehme ' am Anfang und " am Ende, um keinen zu diskriminieren.
Wieso nicht alternierend, um die Gleichberechtigung noch deutlicher auszudrücken :-P
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Mir persönlich fehlen spitze Anführungszeichen (»« und ><). Für Schweizer und Franzosen benötigen wir noch die umgedrehte Variante: «» und <>. Ich denke, wir können in Sachen "Anführungsstriche" noch einiges optimieren. Prinzipiell würde ich vorschlagen, dass nach Shebang und Encoding eine weitere Zeile eingeführt wird, die die Art der Anführungszeichen festlegt. Vielleicht möchte ich ja doppelte, spitze Zeichen am Anfang eines Strings und ein einfaches, normales Anführungszeichen am Ende? Mit dieser Variante könnte man dann auch Strings definieren, die ihrerseits Strings markieren:

# Quoting: asdf,qwertz

Eine gültige Zeichenkette würde dann wie folgt aussehen:

mystring = asdfHallo Benutzer \asdfHeinz\qwertz!qwertz

Auch die Deklaration mehrere solcher Zeichenketten würde sich empfehlen, um unnötiges Escapen zu verhindern:

# Quoting: asdf,qwert,katze,maus

mystring = asdfHallo Benutzer katzeHeinzmaus!qwertz

Ich mach schonmal 'nen Feature Request auf *hust*
Antworten