3. Lektion: Datentypen
Zur Navigation springen
Zur Suche springen
Mit welche Arten von Daten kann Python umgehen?[Bearbeiten | Quelltext bearbeiten]
Ganze Zahlen[Bearbeiten | Quelltext bearbeiten]
- positiv und negativ
- beliebige Größe (theoretisch)
- int()
Zahlendarstellung:[Bearbeiten | Quelltext bearbeiten]
Dezimal[Bearbeiten | Quelltext bearbeiten]
0 >>> _+1 1 >>> _+1 2 ... 9 >>> _+1 10
Hexadezimal (0x, 0X)[Bearbeiten | Quelltext bearbeiten]
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)[Bearbeiten | Quelltext bearbeiten]
>>> bin(10) '0b1010' >>> 0B1010 10 >>>
Casting:[Bearbeiten | Quelltext bearbeiten]
- hex()
- bin()
- Es werden nicht die Zahlen umgewandelt, sondern nur ihre Darstellung!
- int()
- Wandelt auch eine Textdarstellung in eine Zahl!
>>> int(10) 10 >>> int(10.0) 10 >>> int('10.0') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid syntax for integer with base 10 >>> int('10') 10 >>>
Übung:[Bearbeiten | Quelltext bearbeiten]
- 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().
>>> type(42) <class 'int'> >>> type(3.14) <class 'float'> >>> type('Hallo') <class 'str'> >>>
- Schreibe ein Programm das Zahlen in allen drei Darstellungsarten ausgibt.
Fließkomma Zahlen[Bearbeiten | Quelltext bearbeiten]
- Punkt zur Trennung von ganzahligen und gebrochenen Teil der Zahl
- Darstellung in der wissenschaftlichen Schreibweise
>>> 1.735e6 1735000.0 >>> 1.735E6 1735000.0 >>> # größere Zahlen werden auch in wissenschaftlicher Schreibweise ausgegeben. >>> 1.1234e8 1.1234e+08
- Mantisse -> Float mit nur einer Stelle vor dem Komma
- Exponent -> positiver oder negativer Integer
- Die Größe ist begrenzt
- Ist für Micropython nicht definiert.
- Eigene Experimente:
- Mantisse: 8-stellig
- Exponent: +38 ... -44
- Eigene Experimente:
- Ist für Micropython nicht definiert.
Casting:[Bearbeiten | Quelltext bearbeiten]
- float()
Übung:[Bearbeiten | Quelltext bearbeiten]
- 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.
>>> 1.1234567890
- Wie viele Stellen werden intern verwendet?
>>> 1.99999999999
- Wann wird gerundet oder abgeschnitten?
>>> 1.89995 1.89995 >>> 1.899995
- Fließkommazahlen werden von Micropython in normaler oder in wissenschaftlicher Darstellung ausgegben.
- Wann erfolgt die Umschaltung?
Link[Bearbeiten | Quelltext bearbeiten]
- https://de.wikipedia.org/wiki/IEEE_754
- Micropython verwendet binary32.
Wahrheitswert / Boolsche Werte[Bearbeiten | Quelltext bearbeiten]
- 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:[Bearbeiten | Quelltext bearbeiten]
bool()
Übung[Bearbeiten | Quelltext bearbeiten]
- Testet welche Zahlen True und welche False zurückgeben.
- Wie verhält es sich mit Texten?
None[Bearbeiten | Quelltext bearbeiten]
- Ist nichts - eine noch nicht verwendete Variable
- None != leere Variable
- Verwendung:
- Variable deklarieren ohne Wertzuweisung
String[Bearbeiten | Quelltext bearbeiten]
- String ist sowohl ein Datentyp als auch eine Datenstruktur.
- 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.
- Micropython 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:[Bearbeiten | Quelltext bearbeiten]
- str() -> wandelt Zahl in Text
- ord() -> wandelt einen Buchstaben in den UTF-8 Code
- chr() -> wandelt UTF-8 Code Buchstaben
>>> str(3.14) '3.14' >>> ord('a') 97 >>> chr(97) 'a' >>>
Übung[Bearbeiten | Quelltext bearbeiten]
- 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.
- Versuche den UTF-8 Code verschiedener nicht ASCII-Zeichen zu ermitteln.
- Versuche die Zeichen für verschiedene Codes <256 anzuzeigen.
Komplexe Zahlen[Bearbeiten | Quelltext bearbeiten]
Micropython kann auch mit komplexen Zahlen rechnen. Das werden wir aber nicht besprechen.
Zu welchem Typ gehört eine Variable[Bearbeiten | Quelltext bearbeiten]
- Da Variableninhalte von unterschiedlichen Typen sein können, bietet Python die Möglichkeit den Typ zu ermitteln.
- type()
Übung[Bearbeiten | Quelltext bearbeiten]
- Erzeuge verschiedene Variablen und ermittle deren Typ.
- Ändere den Datentyp einer Variablen und teste dann.
Was haben wir gelernt?[Bearbeiten | Quelltext bearbeiten]
- Grundlagen der wichtigsten Datentypen.
[Bearbeiten | Quelltext bearbeiten]
Zurück zu Micropython Kurs 2023 - Teil 1
Zurück zur "Micropython Kurs 2023" Startseite
Zurück zur Programmieren Startseite
Zurück zur Wiki Startseite