i

Fachkonzept: Zuweisungen

Allgemeiner Aufbau einer Zuweisung

Wir haben in den vergangenen Code-Beispielen immer Anweisungen wie die folgende gesehen:

WIDTH = 800    
oder auch
	raumschiff.x = raumschiff.x + 20

Im ersten Fall steht vor dem Gleichheitszeichen die einfache Programmvariable WIDTH, im zweiten Beispiel das Attribut x des Objekts raumschiff. Wir bezeichnen beides im folgenden als Variablen, weil Python hier praktisch keine Unterschiede macht.

Diese Zeilen sehen auf den ersten Blick aus wie eine mathematische Gleichung, aber Vorsicht: Am zweiten Beispiel kann man gut erkennen, dass diese "Gleichung" zumindest keine Lösung hat. Keine Variable aus dem Bereich der natürlichen oder reellen Zahlen kann den gleichen Wert haben wie sie selbst zuzüglich dem Wert 20.

Hier muss man sich bewusst werden, dass es beim Ablauf von Programmen, die aus der Abfolge von Befehlen bestehen, soetwas wie ein Vorher und ein Nachher gibt. Das ist in der "Rechenheft-Mathematik" nicht immer so.

Ein anschauliches Bild von Python-Variablen

Ein anschauliches Bild für Variablen (und Attributen) ist ein Schubladenschrank mit vielen beschrifteten Schubladen, in denen Werte (Zahlen, Texte, ...) abgelegt sind. Die Beschriftung einer Schublade entspricht dem Namen der Variable. Wenn nun eine Zuweisung der Form

	<variablenname> = <term>
im Programm auftaucht, dann bedeutet das anschaulich: In die Schublade mit dem Variablennamen soll ein neuer Inhalt gelegt werden. Was für ein Inhalt das ist, wird durch den Teil der Zeile hinter dem Gleichheitszeichen festgelegt, hier als term bezeichnet.

Wichtig: Der Wert, der sich vorher in der Schublade befand, wird vor dem Hineinlegen des neuen Wertes in die Schublade gründlich entfernt, es befindet sich also in der Schublade dann ausschließlich der neue Wert.

Terme

Im einfachsten Fall besteht ein Term aus einem konstanten Wert, etwa 42.

	meinetollevariable = 42
Im Gegensatz zur Mathematik in der Schule kann ein Wert jedoch auch aus einer Zeichenkette bestehen, also z.B. "Frosch".
	lieblingstier = "Frosch"
Wichtig sind hier die Anführungszeichen.

Wir beschränken uns hier aber zunächst auf Terme, die eine (ganze oder reelle) Zahl darstellen. Statt einem fest vorgegebenen konstanten Wert kann ein Term auch aus einer anderen Variablen oder einer Rechenanweisung bestehen, die ihrerseits wieder konstante Werte und Variablen beinhalten kann. Bei Addition, Subtraktion und Multiplikation ist das sehr einfach, hier verwendet man die üblichen Rechenzeichen "+", "-" und "*" (einen zentrierten Punkt gibt es auf einer normalen Tastatur nicht, daher der Stern).

Einfache Beispiele:

	dachhoehe = haushoehe
	wert = 7 + 5   // wert = 12 wäre allerdings kürzer
	gesamtpreis = produktpreis + lieferkosten
	preis = listenpreis - ermaessigung
	flaeche = breite * hoehe
	brutto = 1.19 * netto
	schrittnummer = schrittnummer+1 
In unserem Bild mit dem Schubladenschrank veranschaulicht, passiert hierbei folgendes: Wenn Variablen in den Termen auftauchen, wird in den entsprechenden Schubladen der Wert nachgeschaut und die Rechnung durchgeführt. Dann wird der berechnete Wert in die Schublade gelegt, deren Name vor dem Gleichheitszeichen steht.

Für die letzte Zeile

	schrittnummer = schrittnummer+1 
bedeutet das: Angenommen, vor der Ausführung der entsprechenden Zeile hätte Schrittnummer den Wert 42. Dann wird dieser Wert nachgeschaut und der Wert 1 wird hinzuaddiert. Das Ergebnis ist 43. Die 42 wird jetzt aus der Schublade entfernt und das Ergebnis 43 wird als neuer Wert in die Schublade gelegt.

Auch kompliziertere Rechnungen mit mehreren Rechenzeichen und auch mit Klammern (Rechenregeln wie in der Mathematik) sind möglich:

	umfang = 2 * (laenge + breite)

Zwei Arten von Division

Eine kurze Bemerkung zur Division: Wir alle haben in unserer Schulzeit zwei "Arten" von Division kennengelernt. In der Grundschule beginnt man zunächst mit der ganzzahligen Division. Dabei dividiert man zunächst nur Zahlen, bei der der Divident auch durch den Divisor ganzzahlig teilbar ist.
15 : 5 = 3
Später lernt man die Division mit Rest:
17 : 5 = 3 Rest 2
Hier steht, anschaulich, dass die 5 dreimal in die 17 passt, und dann noch zwei übrigbleiben. Noch später lernt man dann Kommazahlen kennen, und die umständlich Schreibweise mit Rest gerät (zumindest zunächst) in Vergessenheit.
17 : 5 = 3,4
Für die Programmierung sind beide Arten von Division wichtig und deshalb gibt es tatsächlich auch insgesamt drei Rechenzeichen im Zusammenhang mit der Division:
	kommazahl = 17 / 5
	# kommazahl hat danach den Wert 3,4
	ganzzahliges_ergebnis = 17 // 5
	# ganzzahliges_ergebnis hat danach den Wert von 3
	rest = 17 % 5
	# rest hat danach den Wert von 2

Suche

v
7.4.4.4
inf-schule.de/oop/spiele-python/ereignisse/fk-zuweisungen
inf-schule.de/7.4.4.4

Rückmeldung geben