3. Lektion: Datentypen
Mit welche Arten von Daten kann Python umgehen?
Ganze Zahlen
- positiv und negativ
- beliebige Größe (theoretisch)
- Zahlendarstellung:
- Dezimal
0 >>> _+1 1 >>> _+1 2 ... 9 >>> _+1 10
- Hexadezimal (0x, 0X)
10 >>> hex(_) '0xa' >>> _+1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can't convert 'int' object to str implicitly >>> 0xa 10 >>> >>> 0xa + 1 11 >>> hex(0xa + 1) '0xb' >>>
- Binär (0b, 0B)
- Casting:
- hex()
- bin()
- Es werden nicht die Zahlen umgewandelt, sondern nur ihre Darstellung!
- int()
- Wandelt auch eine Textdarstellung in eine Zahl!
Übung:
- Dezimalzahlen in Hexadezimalzahlen und Binärzahlen umwandeln.
- Hexadezimalzahlen in Dezimalzahlen und Binärzahlen umwandeln.
- Binärzahlen in Dezimalzahlen und Hexadezimalzahlen umwandeln.
- Wie groß kann eine ganze Zahl werden?
- Start mit 10**100
- Zahl mit input() holen und in Integer umwandeln.
- Prüfe mit type().
Fließkomma Zahlen
- Punkt zur Trennung von ganzahligen und gebrochenen Teil der Zahl
- Darstellung in der wissenschaftlichen Schreibweise
- Mantisse
- Exponent
- Die Größe ist begrenzt
- Ist für Micropython nicht definiert.
- Eigene Experimente:
- Mantisse:
- Exponent: +38 ... -44
- Eigene Experimente:
- Ist für Micropython nicht definiert.
- Casting:
- float()
Übung:
- Ganze Zahlen in Fließkommazahlen umwandeln und umgekehrt.
- Wie viele Stellen werden maximal ausgegeben?
- Zahlen mit immer mehr Stellen eingeben und die Ausgabe in der REPL beobachten.
- Wie viele Stellen werden intern verwendet?
- Wann wird gerundet oder abgeschnitten?
- Zahlen mit immer mehr Stellen eingeben und die Ausgabe in der REPL beobachten.
- Fließkommazahlen werden von Micropython in normaler oder in wissenschaftlicher Darstellung ausgegben.
- Wann erfolgt die Umschaltung?
Wahrheitswert / Boolsche Werte
- In Programmen wird häufig eine Entscheidung erforderlich.
- Das Ergebnis kann dann Wahr oder Falsch sein.
- True = Wahr oder eine Zahl !=0
- False = Falsch oder 0
- Das Ergebnis kann dann Wahr oder Falsch sein.
- Casting:
- bool()
Übung
- Testet welche Zahlen True und welche False zurückgeben.
- Wie verhält es sich mit Texten?
None
- Ist nichts - eine noch nicht verwendete Variable
- None != leere Variable
- Verwendung:
- Variable deklarieren ohne Wertzuweisung
String
- Ein String ist eine Zeichenkette, Also die Aneinanderreihung von Zeichen. Also Worte oder Sätze oder auch ganze Texte.
- Auch ein einzelnes Zeichen ist in Python ein String.
- Micropyhton benutzt UNICODE. UTF8.
- Zeichengröße: 8-Bit
- 0 ... 127 entspricht dem ASCII-Zeichensatz
- >127 ist eine Auswahl aus nationalen Sonderzeichen
- Strings werden in einfache oder doppelte Anführungszeichen gesetzt.
- Das ermöglicht Anführungszeichen in einem String auszugeben.
- Strings dürfen nicht auf mehrere Zeilen verteilt werden.
- Es gibt auch Strings mit drei einfachen oder doppelten Anführungszeichen.
- In diesen werden Zeilenumbrüche übernommen.
- Casting:
- str()
Übung
- Erstelle verschiedene Stringvariablen.
- Gebe Anführungszeichen im Text aus.
- Zahlen in Strings Umwandeln und umgekehrt.
- Erstelle Strings mit 3 Anführungszeichen und teste wie sich Zeilenumbrüche darin verhalten.
Komplexe Zahlen
Micropython kann auch mit komplexen Zahlen rechnen. Das werden wir aber nicht besprechen.
Zu welchem Typ gehört eine Variable
- Da Variableninhalte von unterschiedlichen Typen sein können, bietet Python die Möglichkeit den Typ zu ermitteln.
- type()
Übung
- Erzeuge verschiedene Variablen und ermittle deren Typ.
- Ändere den Datentyp einer Variablen und teste dann.
Was haben wir gelernt?
- Grundlagen von den wichtigsten Datentypen.