At My Fingertips

Documentation

Hier lernen Sie verschiedene Datentypen in der Programmiersprache Python und in der Grafikbibliothek PyTamaro kennen und verwenden. Datentypen sind in den meisten Programiersprachen wichtig, beispielsweise weil Compiler scheinbar identische Daten anders verwendet, wenn sie einen anderen Datentyp haben.

# 1
print(1 + 2)
print("1" + "2")

# 2
print(3 * 2)
print(3 * "2")

# 3
from pytamaro import show_graphic, rectangle, green
print(rectangle(200, 20, green))
show_graphic(rectangle(200, 20, green))

# 4
# folgender Code gibt "hallo" dreimal aus
for n in range(3): 
    print("hallo")
    
# was gibt dieser Code aus?
for n in range(3.3): 
    print("hallo")
Loading...

Zahlen und Text

Für Zahlen gibt es in Python zwei Datentypen: die mit Nachkommastellen und die ohne.

Floating-point number oder float ist eine Gleitkommazahl und hat als solche immer ein Komma, respektive das englische Äquivalent, den Punkt:

15.67
0.
0.0
.2
-132401256.1987
0.00001351
1083561805608315.132515

Integer oder int ist eine Ganzzahl und hat als solche weder Kommas noch Nachkommastellen:

0
18
-100975
2
12095139183276

Als String oder str wird alles in Anführungszeichen/ Gänsefüsschen "..." bezeichnet. Sie können dabei einfache '...' oder doppelte "..." Gänsefüsschen verwenden.

"Hallo Welt!"
"Sie sagte: 'Hallo Welt!'"
'w31c0m3, \t bitte hier klicken: [ ]'
"-100975.8"
"rectangle(200, 200, green)"

Funktion type

Sie können mit der Funktion type den Datentyp erfragen:

print(type(7))
print(type(7.1))
print(type("7"))
  1. 7 + 2
  2. 7.0 + 2.1
  3. 7 + 2.1
  4. 7 / 2
  5. 7 // 2
  6. "7 + 2"
  7. 3 * "3"
  8. "hallo" + " welt"
  9. 3 - "3"
  10. 3 / "3"
Loading...

Mit Datentypen können Sie also rechnen und je nach Datentyp und Operation kann sich das Resultat und der Datentyp verändern. Achten Sie auch darauf, die Operatoren - und / nicht auf Strings anwendbar sind.

Konversion

Wir können Datentypen auch in andere verwandeln, nämlich mit Konversionsfunktionen: str, int, float.

Beispielsweise können wir keine Zahlen und Strings durch den Operator + verknüpfen:

print(1 + "2")

Denn der Python-Compiler weiss nicht, ober eine Addition (1+2 -> 3) oder eine Stringkonkatenation ("1"+"2" -> "12") ausführen soll. "1" + 2 löst also einen Fehler aus. Wir können dieses Problem mit den Konversionsfunktionen lösen, so wird nämlich ein Datentyp in einen anderen Datentyp umgewandelt:

Loading...
  1. "alpha" - str(2) -> "alpha2"
  2. "alpha" * "3" -> "alphaalphaalpha"
  3. 2 / 2 -> 1
  4. 12 + 14 -> 1214
  5. "23" + 2 -> 25
  6. "23.0" + 2 -> 25.0
  7. 1 - 2 + "2" -> -12
Loading...
2. Lösungscode
print("alpha" * int("3"))
3. Lösungscode
# 3. `2 / 2` -> `1`
print(int(2 / 2))
4. Lösungscode
# 4. `12 + 14` -> `1214`
print(str(12) + str(14))
5. Lösungscode
# 5. `"23" + 2` -> `25`
print(int("23") + 2)
6. Lösungscode
# 6. `"23.0" + 2` -> `25.0`
print(float("23.0") + 2)
7. Lösungscode
# 7. `1 - 2 + "2"` -> `-12`
print(str(1 - 2) + "2")

Boolean

Der vierte built-in Datentyp von Python ist boolean, der genau zwei Werte hat: True und False.

Zum Beispiel kann man überprüfen, ob ein Ausdruck wie 222 - 123 die 89 oder 99 ergibt:

Loading...

Booleans werden oft in Verzweigungen verwendet:

if 2 + 15 == 18:
    print("Du hast recht.")
else:
    print("Ich habe recht.")

Sie werden später mehr zu Verzweigungen und Booleans lernen.

NoneType

In Python gibt es auch Funktionen und Ausdrücke, die keinen Datentyp zurückgeben, weil sie z.B. nichts weitergeben, sondern etwas and die Konsole ausgeben. Zu diesen Funktionen gehören print und show_graphic.

Wenn Sie also die Funktion print in print aufrufen, erhalten Sie nichts zurück, oder None:

Loading...

Der Datentyp von print ist dann NoneType:

Loading...
Loading...
Lösungscode
from pytamaro import show_graphic, green, rectangle
print(show_graphic(rectangle(1,1,green)))
print(type(show_graphic(rectangle(1,1,green))))

PyTamaro

Damit man mit der Bibliothek PyTamaro auch mit Farben Grafiken erstellen kann, verfügt die Bibliothek über eigene Datentypen. Davon haben Sie bereits Graphic und Color, respektive ihre Unterarten, verwendet. Diese Datentypen sind etwas komplexer aufgebaut.

Loading...

Die Ausgabe sagt uns also nicht nur einen einfachen Datentyp (class) graphic an, sondern auch dass die Funktion text aus der Bibliothek pytamaro stammt und sie darin dem Modul graphic untergeordnet ist.

pytamarodatentypen.png

Loading...
Lösungscode
from pytamaro import rectangle, beside, green

print(type(green))

print(type(rectangle(2,2,green)))

print(
    type(
        beside(
            rectangle(2,2,green),
            rectangle(2,2,green)
        )
    )
)

Zusatzaufgaben zu Strings

Beispiel

14 + "2" -> 142
# Lösung
print(str(14) + "2")

Aufgaben

15 + 14 + "14" -> 2914
8.0 * "5" -> 55555555
25 / 5 * "hi" -> hihihihihi
"Hello" + " World" -> Hello World!
Loading...
Lösung für 15 + 14 + "14" -> 2914
str(15 + 14) + "14"
Lösung für 8.0 * "5" -> 40
8 * "5"
Lösung für 25 / 5 * "hi" -> hihihihihi
25 // 5 * "hi"
Lösung für "Hello" + " World" -> Hello World!
"Hello" + " World" + "!"
Loading...
Lösung für 100 Eins-Nullen
int(100 * "10")

Was Sie gelernt und geübt haben

Programmierkonzepte

  • Sie können Datentypen sinnvoll einsetzen.

Python

  • Sie kennen die Datentypen str, int, float und können diese mit verschiedenen Operatoren verwenden.
  • Sie können die Konversionsbefehle str, int, float verwenden.
  • Sie erkennen Booleans und kennen ihre zwei Werte True und False.
  • Sie können mit der Funktion type den Datentyp herausfinden.
  • Sie können Nonetype verwenden.

PyTamaro

  • Sie können die Datentypen von Grafiken und Farben bestimmen.

This activity has been created by Gall and is licensed under CC BY-SA 4.0.

Datentypen

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version 3094ca3 (Tue, 03 Dec 2024 14:08:36 GMT)