3. Lektion: Datentypen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche

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?
    • 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

  • 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:

    • 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.
>>> 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?

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.
    • type()

Ü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

Diese Seite wurde zuletzt am 25. September 2023 um 16:14 Uhr geändert. Diese Seite wurde bisher 2.125 mal abgerufen.