Python source beautifier

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.
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Joghurt hat geschrieben:Wie schon geschrieben machen "is" und "==" etwas anderes: Ein schönes Beispiel:

Code: Alles auswählen

>>> a = 50
>>> b = 50
>>> a is b
True
>>> a = 100
>>> b = 100
>>> a is b
False
(hier CPython, in Jython kann das noch ganz anders aussehen)
Würg, das ist ein Hammer. ;)
Wie soll man auf so etwas kommen, ohne sich genau zu informieren?
Intuitiv ist das nicht gerade.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Francesco hat geschrieben:Wie soll man auf so etwas kommen, ohne sich genau zu informieren?
Intuitiv ist das nicht gerade.
Darauf kommt man nicht. Wer testet schon ob eine Instanz der Int-Klasse gleich einer anderen (oder eben der gleichen) Instanz der Int-Klasse ist. Dafür gibt es ``==`` und sonst gibt es mit dieser Optimierung in echten Programmen keinerlei Probleme.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Francesco hat geschrieben: Wie soll man auf so etwas kommen, ohne sich genau zu informieren?
Ich werde ja das Gefühl nicht los, dass einige Menschen versuchen Programiersprachen nur durch ausprobieren zu lernen und mit wenig Untersütztung von Literatur ... Aber wenn man mit solchen Feinheiten nicht in Kontakt kommt ist das ja auch in Ordnung. Immerhin braucht eine Sprache ja auch eine breite Basis.
Francesco hat geschrieben: Intuitiv ist das nicht gerade.
Wenn man den Unterschied von Objektgleichheit und Wertegleichheit kennt schon :D
BlackJack

Dem würde ich mich anschliessen. Das ``=`` eine Zuweisung und ``==`` ein Vergleich ist, ist auch nicht intuitiv. Oder ``lambda``. Closures. Klassen. Metaklassen. Sichtbarkeitsbereiche von Namen. Man muss halt Doku lesen wenn man wissen will was für eine Semantik hinter den Syntaxkonstrukten steckt.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

weitere anmerkung zu == & is:

Code: Alles auswählen

>>> True is 1
False
>>> True == 1
True
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Mad-Marty hat geschrieben:weitere anmerkung zu == & is:

Code: Alles auswählen

>>> True is 1
False
>>> True == 1
True
Ja, das funktioniert, weil in diesem Falle nicht auf Gleichheit sondern Gleichwertigkeit geprueft wird. Und True ist genauso wie 1 als Positiv (eben als True) zu werten ;)
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Antworten