next up previous contents index 6163656769
Next: 3.3 Schleifen Up: 3. Anweisungen Previous: 3.1 Vergleiche   Contents   Index


3.2 Enthaltensein

Die Anweisung

>>>range(3)
erzeugt eine Liste (!) mit drei Zahlobjekten als Eintrag und zwar von 0 bis 2. Diese Liste dient wunderbar als Zählliste für sogenannte Schleifen, wie wir noch sehen werden. Jetzt fragen wir danach, ob ein bestimmtes Objekt in dieser Liste enthalten ist.

>>>i=2

>>>a=range(3)

>>>i in a

Die Antwort ist offenbar richtig, denn das Objekt 2, auf das der Name i zeigt, ist in der Liste a enthalten. Nun etwas Merkwürdiges:

>>>a=[2,1]

>>>b=[2,1]

>>>a==b

>>>a is b

Sehr wohl ist a mit b identisch, aber es handelt sich nicht um dieselben Objekte. == prüft also auf gleichen Inhalt, aber »is« untersucht, ob die Objekte identisch sind. Das ist der feine Unterschied. Zu aller Verwirrung zeigt aber

>>>a=2

>>>b=2

>>>a is b

sehr wohl, dass in diesem Fall offenbar die Namen auf dasselbe Objekt zeigen. Aber das muss nicht so sein. Erst bei der Zuweisung »b=a« bedeuten beide Namen wirklich dasselbe Objekt.


next up previous contents index 6163656769
Next: 3.3 Schleifen Up: 3. Anweisungen Previous: 3.1 Vergleiche   Contents   Index
Heiko Schroeder 2003-03-19