Simple Frage zu Variablen
Verfasst: Samstag 1. März 2014, 12:06
Hallo Leute bin Neu hier bitte um Welpenschutz
Regeln lassen sich nicht aufrufen
Bin gerade beim http://www.python-kurs.eu/variablen.php # Absoluter Anfänger bitte nicht gleich steinigen ! Danke
>>> x = 3
>>> y = x
>>> y = 2
Intuitiv würde man davon ausgehen, dass Python zunächst für x einen Speicherort wählt und dort das Objekt (Zahl) 3 abspeichert. Anschließend wird der Variablen y der Wert von x zugewiesen. In C und vielen anderen Programmiersprachen würde auch für y ein eigener Speicherort bestehen, in dem nun die Zahl 3 hineingeschrieben würde. Python geht anders vor: x ist eine Variable mit dem Objekt 3 und y ist eine Variable mit dem "selben" (nicht "gleichen") Objekt. x und y "zeigen" auf das gleiche Objekt. In der letzten Zeile wird y nun der Wert 2 zugewiesen, jetzt muss ein neues Objekt angelegt werden und y "zeigt" auf einen neuen Speicherort.
Soweit dachte ich ich habe es verstanden doch doch warum geht nicht ?
>>> x = 3
>>> x = y
>>> y = 2
bin verwirrt
Danke
Bin gerade beim http://www.python-kurs.eu/variablen.php # Absoluter Anfänger bitte nicht gleich steinigen ! Danke
>>> x = 3
>>> y = x
>>> y = 2
Intuitiv würde man davon ausgehen, dass Python zunächst für x einen Speicherort wählt und dort das Objekt (Zahl) 3 abspeichert. Anschließend wird der Variablen y der Wert von x zugewiesen. In C und vielen anderen Programmiersprachen würde auch für y ein eigener Speicherort bestehen, in dem nun die Zahl 3 hineingeschrieben würde. Python geht anders vor: x ist eine Variable mit dem Objekt 3 und y ist eine Variable mit dem "selben" (nicht "gleichen") Objekt. x und y "zeigen" auf das gleiche Objekt. In der letzten Zeile wird y nun der Wert 2 zugewiesen, jetzt muss ein neues Objekt angelegt werden und y "zeigt" auf einen neuen Speicherort.
Soweit dachte ich ich habe es verstanden doch doch warum geht nicht ?
>>> x = 3
>>> x = y
>>> y = 2
bin verwirrt
Danke