4 Daten in Python
Scientific Computing in Computer Science
4 Daten in Python
Prima? res Ziel: Daten zu Containern zusammenfassen, insbesondere Vektoren etc., um vernu? nftige Beispiele rechnen zu ko? nnen. Vorher genauerer Blick auf die Behandlung von Daten in Python notwendig
61
Scientific Computing in Computer Science
Objekte, Identita? ten, Werte, Datentypen
Alle Dinge, mit denen unser Programm arbeitet (Z.B. Zahlen, aber auch Funktionen und noch einige Dinge, die wir noch kennen lernen werden), nennt man in Python Objekte.
Ein Objekt entsteht irgendwann wa? hrend der Programmausfu? hrung und es kann auch wieder verschwinden (nie, solange wir es noch brauchen; na? heres dazu folgt), die Zeitspanne dazwischen ist seine Lebensdauer.
Jedes Objekt hat eine eindeutige Identita? t, die wa? hrend der gesamten Lebensdauer unvera? nderlich ist, ansonsten aber "willku? rlich" ist.
Fu? r uns nicht praktisch wichtig, aber zum Ausprobieren nett, ist die Funktion id,
die die Identita? t eines Objektes zuru? ckliefert (als ganze Zahl; vorstellen: die Adresse im Speicher, wo die zugeho? rigen Bits rumliegen):
>>> id(10) 153599692
>>> id('Hallo') 3084860512L
62
Scientific Computing in Computer Science
Jedes Objekt hat einen Datentyp, der festlegt, wie der Bithaufen des Objekts interpretiert wird (als Zahl, als String, als Funktion, oder als was-auch-immer).
In Python stellen wir uns auf jedem Objekt ein Etikett angebracht vor, auf dem der Datentyp steht.
Die Funktion type sagt uns, was fu? r ein Datentyp vorliegt:
>>> type(7) >>> type('Hallo')
>>> def f(x): return x**2
>>> type(f)
Anmerkung: dass die Typinformation beim Objekt steht, ist ein typisches Merkmal von Skriptsprachen wie Python ? in Sprachen wie C, Java oder Pascal gibt es das nicht. Der Datentyp ergibt sich dann aus dem Programmtext; das ist in der Programmausfu? hrung effizienter (und erlaubt mehr U? berpru? fungen des Programmtexts), aber fu? r den Programmierer etwas umsta? ndlicher.
63
Scientific Computing in Computer Science
Und schlie?lich hat ein Objekt auch noch einen Wert (aus der durch den Datentyp festgelegten Menge mo? glicher Werte).
Oft identifiziert man schlampig das Objekt und seinen Wert ("Das Objekt 7" statt "Das Objekt mit dem Wert 7"), was normalerweise kein Problem macht. Manchmal wird der Unterschied aber wichtig werden ? z.B. weil sich der Wert einiger Objekte vera? ndern kann (wa? hrend die Identita? t immer unvera? nderlich ist).
Apropos "vera? nderbar": eine wesentliche Unterscheidung von Python-Objekten ist die in vera? nderbaren und die unvera? nderbaren.
Bisher kennen wir nur unvera? nderbare Objekte, insbesondere Zahlen und Strings.
Eine Zuweisung a=7 erzeugt (natu? rlich) ein neues Objekt mit Wert 7. Was tut aber
nun a=a+1? Es vera? ndert nicht den Wert des eben erzeugten Objektes, sondern
erzeugt ein neues, hier mit Wert 8:
>>> a = 7
>>> a = a + 1
>>> id(a)
>>> id(a)
140078832
140078820
Der Bezeichner a wird also an ein neues Objekt gebunden!
64
Scientific Computing in Computer Science
Operationen, die unvera? nderbare Objekte als Ergebnis haben, du? rfen eine Referenz auf ein beliebiges Objekt mit dem richtigen Wert zuru? ckliefern, wir haben also u.U. mehrere Referenzen auf dasselbe Objekt:
>>> a = 7 >>> id(a) 143642352
>>> b = 35/5 # ist auch 7 >>> id(b) 143642352 >>> b = 7.0 # das ist was anderes! >>> id(b) 143858356
Wir haben aber keinen Anspruch darauf, dass Objekte mit gleichem Wert auch gleiche Identita? ten haben.
Ob ein Objekt vera? nderbar ist oder nicht, legt der Datentyp fest (es gibt also Datentypen fu? r vera? nderbare Objekte und Datentypen fu? r unvera? nderbare Objekte).
Um Beispiele fu? r vera? nderbare Objekte zu bekommen, mu? ssen wir also neue Datentypen kennen lernen!
65
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- was haben schlangen mit computern zu tun
- wissenschaftliches programmieren in python
- destring — convert string variables to numeric variables
- anleitung zur einrichtung einer python umgebung
- listenverarbeitung in python
- python aufgaben f ur den informatik vorkurs
- programmieren in python
- kompaktkurs python let token einführung in die
- dfrettloeh techfak
- sichere programmierung lerneinheit 1 einführung in python