Python: Datentypen
Python besitzt eine dynamische Typenbindung, das heißt der Variablentyp muss nicht extra deklariert werden und wird implizit durch die Zuweisung festgelegt. Der einer Variablen kann sich auch ändern, auch wenn das meist nicht als besonders sauberer Programmierstil betrachtet wird.Zahlen
Python unterstützt an einfachen Datentypen Ganzzahlen (auch beliebiger Größe), Realzahlen und komplexe Zahlen.Die meisten der folgenden Beispiele sind die Ausgabe einer interaktiven Python-Sitzung,
>>>
ist der Interpreter-Prompt, die Ausgabe erscheint ohne >>>
in der nächsten Zeile, falls vorhanden. Beispiel (**
ist der Potenzierungs-Operator):
>>> 3 * 3
6
>>> 300 ** 10
5904900000000000000000000L
j
den Imaginärteil kennzeichnet. Alternativ kann die eingebauten Funktion complex(real,imag)
benutzt werden:
>>> (5 + 30j) / 5j
(6-1j)
>>> complex(5, 30) / complex(0, 5)
(6-1j)
int()
, float()
und long()
:
>>> int(5.5)
5
>>> long(3e+30)
2999999999999999778178897805312L
>>> float(3000000000000000000000000000000L)
2.9999999999999998e+30
Strings
Python kann natürlich auch mit Strings umgehen, die entweder in einfache oder doppelte Hochkomma gesetzt werden können. Der Backslash (
) dient wie in C als Escape-Zeichen, also zum Maskieren von Sonderzeichen:
>>> 'Doppeltes Hochkomma: ", einfaches: ''
"Doppeltes Hochkomma: ", einfaches: '"
+
und *
sind auch für Strings zulässig:
>>> 'ab' + 'cdef'
'abcdef'
>>> 'ab' * 5
'ababababab'
Indizes
Strings können indiziert werden, wobei Python keinen eigenen Zeichen-Datentyp definiert; ein Zeichen ist einfach ein String mit Länge eins. Die Indizes beginnen wie in C mit 0. Substrings können in Slice-Notation angegeben werden: zwei Indizes, durch einen Doppelpunkt getrennt. Beispiel:>>> word = 'Hallo'
>>> word[0]
'H'
>>> word[0:2]
'Ha'
>>> word[2:4]
'll'
>>> word = 'Hallo'
>>> word[-1]
'o'
>>> word[:2]
'Ha'
>>> word[2:]
'llo'
Strings ersetzen
Strings können in Python nicht direkt verändert werden; Zuweisungen an einzelne Elemente oder Substrings sind also nicht möglich. Man erhält entsprechend eine Fehlermeldung:>>> word = 'Help'
>>> word[0] = 'h'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: object doesn't support item assignment
%
-Operator interessant; er entspricht etwa der Funktion sprintf()
in C:
>>> number = 3.5
>>> milliseconds = 1.4
>>> "Die Berechnung ergab nach %s ms: %s" % (milliseconds, number)
'Die Berechnung ergab nach 1.4 ms: 3.5'
>>> 'Foo: %(foo)s, Bar: %(bar)s' % {'foo' : 1.3, 'bar' : 'abc'}
'Foo: 1.3, Bar: abc'
Listen
Eine Liste wird als Komma-separierte und von eckigen Klammer eingeschlossene Liste ihrer Elemente notiert. Die Elemente müssen nicht vom gleichen Typ sein. Listen verhalten sich ähnlich wie Strings:>>> list1 = ['A', 'little', 'list']
>>> list1[0]
'A'
>>> list2 = [1, 2, 3]
>>> list3 = list1 + list2
['A', 'little', 'list', 1, 2, 3]
>>> list3[2:4]
[ 'little', 'list', 1, 2]
>>> list = [1, 2, 3]
>>> list[2] += 3
>>> list.append('a')
[1, 2, 5, 'a']
>>> list = [1, 2, 3]
>>> list[:0] = [-2, -1, 0] # Am Anfang einfuegen
>>> list
[-2, -1, 0, 1, 2, 3]
Dictionaries
Dictionaries werden durch Zuweisung ihrer Elemente innerhalb von geschweiften Klammern definiert. Ein Element besteht jeweils aus dem Namensstring gefolgt von einem Doppelpunkt und dem, dem Namen zugeordneten Wert. Mehrere Elemente werden durch Kommata voneinander getrennt. Der Wert eines Elements, kann ähnlich wie bei Listen über den in eckigen Klammern stehenden Namen ausgefragt werden. Beispiel:>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['jack']
4098
>>> tel['guido'] = 4127
>>> tel
{'sape': 4139, 'guido': 4127, 'jack': 4098}
del
-Aufruf. Beispiel:
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}
keys
-Funktion abgefragt werden, man erhält eine Liste. Beispiel:
>>> tel.keys()
['guido', 'irv', 'jack']
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Variablen und Operatoren
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project