Python Datentypen

Allgemeines

Ganz generell legen Datentypen fest,

  • welche Art von Wert eine Variable speichert 
  • und folglich welche Operationen angewendet werden können

In Python erfolgt eine dynamische Typisierung, d.h. man muß nicht zwingend eine Variable  explizit deklarieren, Python leitet den Typ auch automatisch aus dem zugewiesenen Wert ab.

Der Typ einer Variable kann sich auch ändern, wenn ihr ein Wert eines anderen Typs während der Laufzeit zugewiesen wird.

Der Typ einer Variablen kann wie folgt abgefragt werden:

_x = 10
print(type(_x))      # Ausgabe: <class 'int'>

Veränderliche (mutuable) Datentypen unterscheiden sich von unveränderlichen (immutuable) Datentypen dadurch, als der Dateninhalt von unveränderlichen Variablen nicht mehr durch Befehle verändert werden kann (replace, sort, ...). Insofern kann man lediglich einen komplett anderen Wert zuweisen.

Datentypen

  1. Numerische Typen
     int (integer) : Ganze Zahlen (Bsp.: -5, 0, 10)
     
    _age = 50
     float (floating-point) : Gleitkommazahlen (Bsp.: 3.14, -0.01, 1.0)
     _price = 39.99
     complex (complex) : Komplexe Zahlen (Bsp.: 3+5j)
     _z = 2+3j

  2. Sequenztypen (geordnete Sammlungen)
     str (String) : Zeichenkette (Bsp.: "Hallo Welt!")
      Strings sind unveränderlich (immutable)
      
    _name = "Anna"
     list (List) : Listen, geordnete und veränderliche (mutable) Sammlungen von
                         Elementen unterschiedlicher Typen (Bsp.: [1, "Apfel", 3.14])
     _bom = ["Schrauben", "Nägel", "Blech"]
     _amount = [1,2,3,4,5]
     tuple (Tuple) : Tupe(, geordnete aber unveränderliche (immutable) Sammlungen von
                                Elementen (Bsp.: 10, 20, 30)
     _coordinates = (48.3849.56, 9.2772)
     _color = ("schwarz", "weiß", "rot")

  3. Mapping-Typ
     dict (Dictionary) :  Wörterbücher, ungeordnete (in Python < 3.7) bzw.
              geordnete (ab Python 3.7) Sammlungen von Schlüssel-Wert-Paaren
              (z.B. {"name": "Max", "alter": 25})
              Schlüssel müssen eindeutig und unveränderlich sein
              Dictionaries selbst sind veränderlich

       _person = {"name" : "Max Mustermann", "alter" : 30, "stadt" : "Kirchheim"}


  4. Mengen-Typ
     set (Set) :  Mengen, ungeordnete Sammlungen von eindeutigen,
                       unveränderlichen (immutuable) Elementen
                       Indes: S{ets  sind veränderlich (mutuable), man kann also Elemente
                       hinzufügen, entfernen, sortieren

      
    _zahlenset = {3,2,1,5,4}

     frozenset (Frozen Set) : Unveränderliche (immutuable) Version eines Sets.
          Nachdem es erstellt wurde, können keine Elemente mehr hinzugefügt
          oder entfernt werden.

     _bom = ["Schrauben", "Nägel", "Blech"]
     _amount = [1,2,3,4,5]

  5. Boolescher Typ
     bool (Boolean) : Wahrheitswerte, können nur wahr (true) oder falsch (false) sein.
      Finden Verwendung für Vergleiche bzw. Bedingungen.
      _active = true


  6. Binäre Typen
     byte :  Unveränderliche Sequenz von Bytes (Zahlen zwischen 0 .. 255)
     bytearray : Veränderliche Sequenz von Bytes (Zahlen zwischen 0 .. 255)


  7. None-Typ
     NoneType Hat nur einen einzigen Wert: None.
      Findet Verwendung, um das fehlen eines Wertes anzuzeigen:
      _result = None


Explizites Zuweisen von Datentypen

_PLZ = "73230"
_PLZnum = int(_PLZ)

  • int()
  • float()
  • str()
  • list()
  • tuple()
  • set()
  • bool()
  • byte()
  • bytearray()

  • mit type(variable) kann man diesen Datentyp auslesen


Listenfunktionen

_fruits=["apple","banana","strawberry","grape","mango","melon"]
print(_fruits)
print(_fruits[0])
print(_fruits[-1])
print(_fruits[2:])
print(_fruits[:4])




print("\nUnd nun weisen wir einzelnen Indizes einen Wert zu:")
print(_fruits)
_fruits[2]="raspberry"
print(_fruits)
print("fruits.index 'grape' => "+str(_fruits.index("grape")))
print("fruits.count 'grape' => "+str(_fruits.count("grape")))

_fruits.insert(1,"orange")
print(_fruits)
_fruits.insert(1,"orange")
print(_fruits)
_fruits.remove("orange")
print(_fruits)
_fruits.append("orange")
print(_fruits)
_fruits.remove("orange")
print(_fruits)

_fruits.clear()
print(_fruits)
_fruits=["apple","banana","strawberry","grape","mango","melon", "orange"]
print(_fruits)
_fruits.reverse()
print(_fruits)
_fruits.sort()
print(_fruits)

['apple', 'banana', 'strawberry', 'grape', 'mango', 'melon']
apple
melon
['strawberry', 'grape', 'mango', 'melon']
['apple', 'banana', 'strawberry', 'grape']

Und nun weisen wir einzelnen Indizes einen Wert zu:
['apple', 'banana', 'strawberry', 'grape', 'mango', 'melon']
['apple', 'banana', 'raspberry', 'grape', 'mango', 'melon']
fruits.index 'grape' => 3
fruits.count 'grape' => 1

['apple', 'orange', 'banana', 'raspberry', 'grape', 'mango', 'melon']
['apple', 'orange', 'orange', 'banana', 'raspberry', 'grape', 'mango', 'melon']
['apple', 'orange', 'banana', 'raspberry', 'grape', 'mango', 'melon']
['apple', 'orange', 'banana', 'raspberry', 'grape', 'mango', 'melon', 'orange']
['apple', 'banana', 'raspberry', 'grape', 'mango', 'melon', 'orange']




[]

['apple', 'banana', 'strawberry', 'grape', 'mango', 'melon', 'orange']
['orange', 'melon', 'mango', 'grape', 'strawberry', 'banana', 'apple']
['apple', 'banana', 'grape', 'mango', 'melon', 'orange', 'strawberry']




back to python