Mit welche Arten von Daten kann Python umgehen?
Ganze Zahlen
- positiv und negativ
- beliebige Größe (theoretisch)
- int()
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)
>>> bin(10)
'0b1010'
>>> 0B1010
10
>>>
Casting:
- 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:
- 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?
- Zahl mit input() holen und in Integer umwandeln.
>>> 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
- 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
Casting:
Ü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.
>>> 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
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
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
- 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:
- 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
- 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
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.
Übung
- Erzeuge verschiedene Variablen und ermittle deren Typ.
- Ändere den Datentyp einer Variablen und teste dann.
Was haben wir gelernt?
- Grundlagen der wichtigsten Datentypen.
Navigation
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