Python Variablentypen: Datentypen verstehen und verwenden
Werte Variablen zuweisen
Variablen sind nichts anderes als reservierte Speicherbereiche zum Speichern von Werten. Das bedeutet, dass Sie beim Erstellen einer Variable etwas Speicherplatz reservieren.
Basierend auf dem Datentyp einer Variable allokiert der Interpreter Speicher und entscheidet, was im reservierten Speicher gespeichert werden kann. Daher können Sie durch Zuweisen verschiedener Datentypen zu Variablen Ganzzahlen, Dezimalzahlen oder Zeichen in diesen Variablen speichern.
Werte Variablen zuweisen
Python-Variablen benötigen keine explizite Deklaration, um Speicherplatz zu reservieren. Die Deklaration erfolgt automatisch, wenn Sie einer Variablen einen Wert zuweisen. Das Gleichheitszeichen (=) wird verwendet, um Variablen Werte zuzuweisen.
Der Operand links vom =-Operator ist der Name der Variable und der Operand rechts vom =-Operator ist der in der Variable gespeicherte Wert. Zum Beispiel:
#!/usr/bin/python counter = 100 # Eine Ganzzahlzuweisung miles = 1000.0 # Eine Gleitkommazahl name = "John" # Ein String print counter print miles print name
Hier sind 100, 1000.0 und "John" die Werte, die den Variablen counter, miles und name zugewiesen werden. Dies erzeugt folgendes Ergebnis:
100 1000.0 John
Mehrfachzuweisung
Python erlaubt es Ihnen, einen einzelnen Wert mehreren Variablen gleichzeitig zuzuweisen. Zum Beispiel:
a = b = c = 1
Hier wird ein Ganzzahlobjekt mit dem Wert 1 erstellt, und alle drei Variablen werden auf dieselbe Speicherposition zugewiesen. Sie können auch mehrere Objekte mehreren Variablen zuweisen. Zum Beispiel:
a, b, c = 1, 2, "john"
Hier werden zwei Ganzzahlobjekte mit den Werten 1 und 2 den Variablen a und b zugewiesen, und ein Stringobjekt mit dem Wert "john" wird der Variable c zugewiesen.
Standard-Datentypen
Die im Speicher gespeicherten Daten können vielerlei Typen haben. Zum Beispiel wird das Alter einer Person als numerischer Wert gespeichert, ihre Adresse als alphanumerische Zeichen. Python verfügt über verschiedene Standard-Datentypen, die die möglichen Operationen und die Speichermethode für jeden von ihnen definieren.
Python hat fünf Standard-Datentypen:
- Numbers (Zahlen)
- String (Zeichenketten)
- List (Listen)
- Tuple (Tupel)
- Dictionary (Wörterbücher)
Python Zahlen
Zahlendatentypen speichern numerische Werte. Zahlenobjekte werden erstellt, wenn Sie ihnen einen Wert zuweisen. Zum Beispiel:
var1 = 1 var2 = 10
Sie können auch die Referenz auf ein Zahlenobjekt mithilfe der del-Anweisung löschen. Die Syntax der del-Anweisung lautet:
del var1[,var2[,var3[....,varN]]]]
Sie können ein einzelnes Objekt oder mehrere Objekte mit der del-Anweisung löschen. Zum Beispiel:
del var del var_a, var_b
Python unterstützt vier verschiedene numerische Typen:
- int (signed integers) – Vorzeichenbehaftete Ganzzahlen
- long (long integers) – Lange Ganzzahlen, sie können auch im Oktal- und Hexadezimalsystem dargestellt werden
- float (floating point real values) – Gleitkommawerte
- complex (complex numbers) – Komplexe Zahlen
Beispiele
Hier sind einige Beispiele für Zahlen:
| int | long | float | complex |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
Python erlaubt die Verwendung eines kleingeschriebenen l bei long, aber es wird empfohlen, nur ein großes L zu verwenden, um Verwechslungen mit der Ziffer 1 zu vermeiden. Python zeigt lange Ganzzahlen mit einem großen L an.
Eine komplexe Zahl besteht aus einem geordneten Paar reeller Gleitkommazahlen, bezeichnet als x + yj, wobei x und y die reellen Zahlen sind und j die imaginäre Einheit darstellt.
Python Strings
Strings in Python werden als zusammenhängende Zeichensätze identifiziert, die in Anführungszeichen dargestellt werden. Python erlaubt sowohl Paare von einfachen als auch doppelten Anführungszeichen. Teilstrings können mithilfe des Slice-Operators ([ ] und [:]) mit Indizes ab 0 am Anfang des Strings und -1 am Ende entnommen werden.
Das Pluszeichen (+) ist der String-Konkatenationsoperator und der Stern (*) der Wiederholungsoperator. Zum Beispiel:
#!/usr/bin/python str = 'Hello World!' print str # Gibt kompletten String aus print str[0] # Gibt erstes Zeichen aus print str[2:5] # Gibt Zeichen 3 bis 5 aus print str[2:] # Gibt String ab 3. Zeichen aus print str * 2 # Gibt String zweimal aus print str + "TEST" # Gibt konkatenierten String aus
Dies erzeugt folgendes Ergebnis:
Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST
Python Listen
Listen sind die vielseitigsten der zusammengesetzten Datentypen in Python. Eine Liste enthält Elemente, die durch Kommas getrennt und in eckigen Klammern ([]) eingeschlossen sind. In gewissem Maße ähneln Listen Arrays in C. Ein Unterschied ist, dass alle Elemente einer Liste unterschiedliche Datentypen haben können.
Die in einer Liste gespeicherten Werte können mit dem Slice-Operator ([ ] und [:]) und Indizes ab 0 am Anfang der Liste und -1 am Ende zugegriffen werden. Das Pluszeichen (+) ist der Listen-Konkatenationsoperator, der Stern (*) der Wiederholungsoperator. Zum Beispiel:
#!/usr/bin/python list = ['abcd', 786, 2.23, 'john', 70.2] tinylist = [123, 'john'] print list # Gibt komplette Liste aus print list[0] # Gibt erstes Element aus print list[1:3] # Gibt Elemente 2 bis 3 aus print list[2:] # Gibt Elemente ab 3. Element aus print tinylist * 2 # Gibt Liste zweimal aus print list + tinylist # Gibt konkatenierte Listen aus
Dies erzeugt folgendes Ergebnis:
['abcd', 786, 2.23, 'john', 70.2] abcd [786, 2.23] [2.23, 'john', 70.2] [123, 'john', 123, 'john'] ['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
Python Tupel
Ein Tupel ist ein weiterer Sequenzdatentyp, der der Liste ähnelt. Ein Tupel besteht aus einer Reihe von Werten, die durch Kommas getrennt sind. Im Gegensatz zu Listen sind Tupel jedoch in Klammern eingeschlossen.
Die Hauptunterschiede zwischen Listen und Tupeln sind: Listen sind in eckigen Klammern ([ ]) eingeschlossen und ihre Elemente und Größe können geändert werden, während Tupel in runden Klammern (( )) eingeschlossen sind und nicht aktualisiert werden können. Tupel können als schreibgeschützte Listen betrachtet werden. Zum Beispiel:
#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print tuple # Gibt komplettes Tupel aus
print tuple[0] # Gibt erstes Element aus
print tuple[1:3] # Gibt Elemente 2 bis 3 aus
print tuple[2:] # Gibt Elemente ab 3. Element aus
print tinytuple * 2 # Gibt Tupelinhalt zweimal aus
print tuple + tinytuple # Gibt konkatenierte Tupel aus
Dies erzeugt folgendes Ergebnis:
('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')
Der folgende Code ist ungültig bei Tupeln, da wir versucht haben, ein Tupel zu aktualisieren, was nicht erlaubt ist. Bei Listen ist der ähnliche Fall möglich:
#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
list = ['abcd', 786, 2.23, 'john', 70.2]
tuple[2] = 1000 # Ungültige Syntax bei Tupel
list[2] = 1000 # Gültige Syntax bei Liste
Python Dictionary
Pythons Dictionaries sind eine Art Hash-Tabelle. Sie funktionieren wie assoziative Arrays oder Hashes in Perl und bestehen aus Schlüssel-Wert-Paaren. Ein Dictionary-Schlüssel kann fast jeder Python-Typ sein, meist sind es jedoch Zahlen oder Strings. Werte können beliebige Python-Objekte sein.
Dictionaries werden von geschweiften Klammern ({ }) umschlossen und Werte können mit eckigen Klammern ([]) zugewiesen und abgerufen werden. Zum Beispiel:
#!/usr/bin/python
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print dict['one'] # Gibt Wert für 'one' Schlüssel aus
print dict[2] # Gibt Wert für 2 Schlüssel aus
print tinydict # Gibt komplettes Dictionary aus
print tinydict.keys() # Gibt alle Schlüssel aus
print tinydict.values() # Gibt alle Werte aus
Dies erzeugt folgendes Ergebnis:
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
Dictionaries haben kein Konzept von Reihenfolge unter den Elementen. Es ist falsch zu sagen, die Elemente seien "out of order"; sie sind einfach ungeordnet.
Datentypkonvertierung
Manchmal müssen Sie Konvertierungen zwischen den eingebauten Typen durchführen. Um zwischen Typen zu konvertieren, verwenden Sie einfach den Typnamen als Funktion.
Es gibt mehrere eingebaute Funktionen für die Konvertierung von einem Datentyp in einen anderen. Diese Funktionen geben ein neues Objekt zurück, das den konvertierten Wert darstellt.
| Nr. | Funktion & Beschreibung |
|---|---|
| 1 | int(x [,base]) Konvertiert x zu einer Ganzzahl. base spezifiziert die Basis, falls x ein String ist. |
| 2 | long(x [,base]) Konvertiert x zu einer langen Ganzzahl. base spezifiziert die Basis, falls x ein String ist. |
| 3 | float(x) Konvertiert x zu einer Gleitkommazahl. |
| 4 | complex(real [,imag]) Erstellt eine komplexe Zahl. |
| 5 | str(x) Konvertiert Objekt x zu einer String-Darstellung. |
| 6 | repr(x) Konvertiert Objekt x zu einem Ausdrucks-String. |
| 7 | eval(str) Evaluiert einen String und gibt ein Objekt zurück. |
| 8 | tuple(s) Konvertiert s zu einem Tupel. |
| 9 | list(s) Konvertiert s zu einer Liste. |
| 10 | set(s) Konvertiert s zu einer Menge (Set). |
| 11 | dict(d) Erstellt ein Dictionary. d muss eine Sequenz von (key,value)-Tupeln sein. |
| 12 | frozenset(s) Konvertiert s zu einem frozen Set. |
| 13 | chr(x) Konvertiert eine Ganzzahl zu einem Zeichen. |
| 14 | unichr(x) Konvertiert eine Ganzzahl zu einem Unicode-Zeichen. |
| 15 | ord(x) Konvertiert ein einzelnes Zeichen zu seinem Ganzzahlwert. |
| 16 | hex(x) Konvertiert eine Ganzzahl zu einem hexadezimalen String. |
| 17 | oct(x) Konvertiert eine Ganzzahl zu einem oktalen String. |
Python
- C# Variablen & Primitive Datentypen meistern: Der komplette Guide
- C++-Variablen, Literale und Konstanten meistern: Ein umfassender Leitfaden
- C Variablen, Konstanten und Literale: Ein vollständiger Leitfaden
- C Speicherklassen verstehen: Gültigkeitsbereich, Lebensdauer und Performance
- Python-Variablen, Konstanten & Literale – Umfassender Leitfaden
- Python-Datentypen meistern: Praxisleitfaden
- Python-Operatoren meistern: Umfassender Leitfaden
- Python Global, Local & Nonlocal Variablen verstehen
- Pythons global-Schlüsselwort meistern: Wie & wann man es verwendet
- Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken