Umlaute

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten

Findest du das man in Python Programm mit deutschen Namen Umlaute verwenden darf?

Ja, man sollte sogar, wenn es die Lesbarkeit steigert.
1
6%
Ja, man darf, wenn man Lust hat.
2
12%
Nein, man sollte auf gar keinen Fall Umlaute als Variablennamen verwenden.
12
71%
Es ist egal.
2
12%
 
Insgesamt abgegebene Stimmen: 17
Lasse
User
Beiträge: 112
Registriert: Donnerstag 3. Februar 2011, 18:25

Hallo Pythoner,

ich hätte mal eine Frage. Mir ist klar, dass man in Programmen, von den man erwartet/vermutet, sie könnten auch von Personen gelesen werden wollen, die kein Deutsch sprechen kommplett auf Englisch hält. Wie aber sieht es mit Übungen aus, die auf Deutsch unter Python 3.x geschrieben sind? Sollte man dort Umlaute in den Variablen-/Objektnamen verwenden?
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Es spricht sicherlich nichts dagegen aus Spieltrieb von den Möglichkeiten von Python Gebrauch zu machen. Das Problem mit Sonderzeichen ist, dass sie nicht auf jeder Tastatur verfügbar sind. In einem seriösen Programm würde ich daher nur ASCII Zeichen für Namen verwenden.

Hier mal ein Beispiel:

Code: Alles auswählen

def 斐波纳契(最高值):
    鱼,虎  = 0,1
    while 虎 < 最高值:
        print(鱼)
        鱼,虎 = 虎,鱼+虎
deets

*Technisch* ist das kein Grund, und insofern: klar, kann man machen. Ich find's halt persoenlich furchtbar, aber YMMV.

Was mich an nicht-englischen Bezeichnern einfach immer stoert ist, dass sie zwangsweise mit den Objekt- und Verb-namen der Standardbibliothek & anderer Bibliotheken kollidieren.

Es heisst nunmal "open" und nicht oeffnen, "hasattr" und nicht "hatattr". Usw.
lunar

Ich halte es mit deets. Ich finde, dass sich Programme besser lesen lassen, wenn Bezeichner einsprachlich sind. Und diese eine Sprache wird eben durch Schlüsselwörter und Drittbibliotheken, die allesamt in Englisch sind, ziemlich vorgegeben. Es käme ja auch niemand auf die Idee, in einem normalen Brief, Zeitungsartikel, etc. Deutsch und Englisch wild zu mischen ...

Den einzigen Nutzen sehe ich in der Verwendung von mathematischen Sonderzeichen, e.g. δ statt "delta". Nur kann man solche Zeichen halt auf keiner Tastatur tippen, so dass sich das Programmieren mit solchen Namen etwas zäh gestaltet.

Aber das kann letztlich jeder halten wie er will, wozu also diese Umfrage?
BlackJack

@lunar: Man kann griechische Buchstaben nicht auf griechischen Tastaturen tippen? ;-)

Wobei das auch auf Tastaturen mit aufgedruckten lateinischen Buchstaben auch eine Frage des eingesetzten Systems ist. Ein δ bekomme ich bei mir zum Beispiel durch die Tastenfolge `Compose`, `*`, `d`. (Als `Compose` ist bei mir die rechte Tux-Taste eingestellt.)
crs
User
Beiträge: 42
Registriert: Dienstag 14. Juli 2009, 13:24

Der Editor kann sonst auch ein geschriebenes "delta" einfach als δ anzeigen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

crs hat geschrieben:Der Editor kann sonst auch ein geschriebenes "delta" einfach als δ anzeigen.
Dann lass ich mal das hier liegen.

Das geht allerdings am Problem vorbei.

Ich halte nichts von Umlauten/Sonderzeichen im Code, da Code die bloede Eigenschaft hat, verbreitet zu werden, wenn er nuetzlich ist. Und damit u.U. ueber Laender- und Betriebssystemgrenzen hinweg und schon fallen "native" Eingaben (Keyboard) oder erweiterte Eingaben (Compose ist erstmal auf X beschraenkt -- erweiterte Eingabesysteme sind i.d.R. auch sonst nicht so geläufig) weg.

Uebrig bleibt ein Aergernis fuer den Zukuenftigen Nutzer und damit auch fuer den, der den Code wartet, weil die Leute sich beschweren.

Es ist zwar technisch kein grosses Hindernis aber sehr wohl was Komfort und Benutzbarkeit angeht. Wenn ich beispielsweise Compose nutze falle ich erstmal aus dem Schreibrhythmus heraus.

Fuer noch viel wichtiger halte ich aber das schon angesprochene Problem vom zwangsläufigen Mischen von Sprachen. Es reicht, wenn ich gleichzeitig Python und Englisch sprechen muss.

Aber vielleicht ist ja Teuton eine Alternative hier? 8)
BlackJack

Ich finde ja Unicode nur bei Namen ist nicht genug:

Code: Alles auswählen

∀ x ∈ data:
    if x ≡ None:
        x ← 0
    if x - δ ≤ 1:
        eggs ← map(λ a: x - a, eggs)
Das hätte doch auch etwas. :-)
Antworten