Problem mit globalen und lokalen Werten

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.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

sma hat geschrieben:
jbs hat geschrieben:Ich fang mal an: 9 Sachen, die es "nur" in Python gibt:

1. Einrückung durch Whitespace
Mir fällt spontan Occam ein, eine Sprache aus den 80ern (noch vor Python), die Einrückung für Blöcke nutzte. Und ohne das jetzt nachzugucken, Haskell kann das doch alternativ zu Klammern ebenfalls.

Also nur noch 8 Sachen...

Stefan
Deshalb steht das `nur` auch in `"`.
[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]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Nemerle und CoffeScript würden mir da noch zusätzlich einfallen.
Außerdem Haml und Jade.

Und explizit ist besser als implizit gibts auch in Java, einer der bekanntesten Programmiersprachen überhaupt. Also nur noch 7 Sachen, bin gespannt auf den Rest der Liste.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Für HAML, Jade und CoffeeScript gilt aber, dass die allesamt nach Python erfunden wurden, zum Teil sogar Python als Inspirationsquelle nennen. Daher nannte ich extra Occam. Zu "explizit vs. implizit" wollte ich nichts sagen, denn das ist weniger ein Feature als eine Philosophie. Und hier gibt es wohl eher den Streit zwischen "es gibt einen Weg" und "es gibt mehrere Wege" (MTOWTDI oder so) Denkschulen, den man besser eindeutig auf Sprachen und ihr Erscheinungsdatum abbilden kann. Scheme war z.B. auch Reaktion auf die Vielfalt von Lösungswegen in CommonLisp. Dennoch ist Perl das poster child für MTOWTDI.

Aber wo bleiben Sie denn nun, die besonderen Eigenschaften von Python? List comprehensions sind es schon mal nicht. Objektorientierung auch nicht. Lambda jedenfalls nicht, das gab es auch schon in den frühsten Lisp-Dialekten. Möglicherweise der "if/else"-Operator, den hatte ich vor Python so noch in keiner anderen Sprache gesehen. Alle anderen stellen immer die Bedingung nach vorne.

Stefan
bords0
User
Beiträge: 234
Registriert: Mittwoch 4. Juli 2007, 20:40

jbs hat geschrieben:Ich fang mal an: 9 Sachen, die es "nur" in Python gibt:

1. Einrückung durch Whitespace
2. Explizit ist besser als Implizit
...
Äh, mit was rücken denn die anderen Sprachen ein? Blackspace?
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

bords0 hat geschrieben:
jbs hat geschrieben:Ich fang mal an: 9 Sachen, die es "nur" in Python gibt:

1. Einrückung durch Whitespace
2. Explizit ist besser als Implizit
...
Äh, mit was rücken denn die anderen Sprachen ein? Blackspace?
In der Regel (u. a. Java, C, C++, C#) werden Blöcke mit { } markiert. Einrückung ist völlig egal..
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
lunar

@ms4py: Du hast den Witz und die Ironie der Behauptung, Einrückung mit Whitespace wäre eine Besonderheit von Python ganz offensichtlich ebenso wenig verstanden wie jeder andere hier (mich eingeschlossen) mit Ausnahme von bords0.

Tatsache ist nämlich, dass man in jeder Sprache (von Whitespace mal abgesehen), ja auch in Java, C, C++ und C# mit Leerzeichen einrückt, auch wenn die Einrückung natürlich ohne syntaktische oder semantische Bedeutung ist. Oder hast Du schon jemals mit etwas anderem als Leerzeichen eingerückt?
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

lunar hat geschrieben:@ms4py: Du hast den Witz und die Ironie der Behauptung, Einrückung mit Whitespace wäre eine Besonderheit von Python ganz offensichtlich ebenso wenig verstanden wie jeder andere hier (mich eingeschlossen) mit Ausnahme von bords0.

Tatsache ist nämlich, dass man in jeder Sprache (von Whitespace mal abgesehen), ja auch in Java, C, C++ und C# mit Leerzeichen einrückt, auch wenn die Einrückung natürlich ohne syntaktische oder semantische Bedeutung ist. Oder hast Du schon jemals mit etwas anderem als Leerzeichen eingerückt?
Ja, Tab ;)
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
BlackJack

Doppelpunkte! Führende Leerzeichen (also nach der Zeilennummer) werden vom Commodore BASIC V2 bei der Übernahme einer eingegebenen Zeile ignoriert. :-)
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich bereue das geschrieben zu haben.
[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]
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

BlackJack hat geschrieben:Doppelpunkte! Führende Leerzeichen (also nach der Zeilennummer) werden vom Commodore BASIC V2 bei der Übernahme einer eingegebenen Zeile ignoriert. :-)
Oder man denke an GFA-Basic, da konnte man gar nicht selbst einrücken, der Editor hat das für einen selbst anhand der Programmstruktur übernommen. War total praktisch (im Vergleich zu z.B. Commodore Basic), man musste nur tippen und das Programm sah immer nett und aufgeräumt aus. Ergo: In dieser Sprache konnte man gar nicht mit Whitespaces (selbst) einrücken.

Stefan
BlackJack

@sma: Das kenne ich vom C64 von Comal.
funkheld
User
Beiträge: 258
Registriert: Sonntag 31. Oktober 2010, 09:26

.....da konnte man gar nicht selbst einrücken....

Kann man jetzt auch noch nicht. Ich finde es praktisch.
Das GFA32 ist zur mein bestes, um mit Windows etwas zu proggen.

Gruss
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

sma hat geschrieben:Aber wo bleiben Sie denn nun, die besonderen Eigenschaften von Python?
Vergleiche evtl.

Code: Alles auswählen

assert  -3 <= -2 <= -1
Antworten