Python Datentyp

  • Summe, Min und Maxwert


    Mit Python ist es sehr einfach durch die eingebauten Funktionen die Summe, Min und Maxwert aus Werten zu bilden. Dazu gibt es die Funktionen sum(), min() und max(). Das ist ganz schön Praktisch, wie in diesem Beispiel seht.


    Code
    1. >>> a = (1.3, 4.7, 7.0, 5.2)
    2. >>> print sum(a)
    3. 18.2
    4. >>> print min(a)
    5. 1.3
    6. >>> print max(a)
    7. 7.0


    Diese Funktionen habe ich zum Beispiel im Programm SimpleImageRuler angewendet um die einzelnen Abstände auszuwerten.


    Iteratoren bei Python


    Bei menzerat.eu gibt es einen interressanten Artikel von Iteratoren bei Java.


    Und da Python diese Möglichkeit ebenso bietet möchte ich auch ein paar Beispiele zeigen, aber möchte nicht Java und Python vergleichen. Noch kurz erklärt, ein Iterator kann auf jedes Element in einer Struktur zugreifen und kann eine "for" Schleife ersetzen. Zu den Beispielen:


    In der ersten Zeile wird der tuple der Variable t zugewiesen, mit " ".join(t) (auf Deutsch: zusammenfassen) wird der tuple als ein String ausgegeben. bei " ".join(c.upper() for c in t) wird jede Stringvariable im tuple aus Großbuchstaben ausgegeben. Und mit " ".join(c[:2] for c in t) werden die ersten zwei Zeichen von jedem String im tuple ausgegeben sum(c.isupper() for c in t) werden die großgeschrieben String im tuple ausgegeben sum(d.isupper() for d in " ".join(t)) werden alle großgeschrieben Zeichen ausgegeben


    Und das nochmal zu verdeutlichen wird in der sechsten Ausgabe " ".join(d for d in " ".join(t)) jedes Zeichen einzeln ausgeben.


    Code
    1. t = ("Hallo", "ich", "BIN", "ein", "Tuple")
    2. print " ".join(t)
    3. print " ".join(c.upper() for c in t)
    4. print " ".join(c[:2] for c in t)
    5. print sum(c.isupper() for c in t)
    6. print sum(d.isupper() for d in " ".join(t))
    7. print " ".join(d for d in " ".join(t))


    Ausgabe:

    Beispiel für den Datentyp dictionary


    Oft ist es so das nicht ein großes Programm die Probleme löst, oft sind es die kleinen Dinge die den Computeralltag leichter machen. Ich meine damit einfach die wiederkehrenden Sachen ein wenig automatisieren und dabei denke ich nicht an die jährliche Steuererklärung, auch wenn das schön wäre. Sondern an: Wenn ich abends den Computer einschalte und dem
    Internetbrowser starte, schaue ich mir drei Seiten im Internet an um zu sehen was passiert ist. Einen kleinen Ablauf in eine Scriptdatei eintragen die dann der Computer automatisch erledigt. Es ist aber schwierig einen solchen Ablauf zu erkennen und zu sagen da bin ich mit einem Script schneller, denn es muss ja auch erstellt werden. Oder wie bei diesem Beispiel: Das Script soll Werte aus dem Input in eine .csv Datei schreiben und die Werte der richtigen Spalte zuordnen.
    Der Input sieht so aus, hinter dem @-Zeichen ist der Schlüssel und nach dem Doppelpunkt steht der Wert:


    Code
    1. @SYS:4563@MON:7896@ID:MOBIL21@SKST:0897@ECOA:567


    Ziel des Scriptes ist es aus der Zeichenfolge die Schüssel und Werte zu
    trennen und dem Wert den Schlüsseln zuzuordnen. Dazu gibt es in der
    Programmiersprache Python dem Datentyp dictionary.


    Code
    1. einlesen = ('@SYS:4563@MON:7896@ID:MOBIL21@SKST:0897@ECOA:567@LSTAR:AAABBB@MAT:88666553333@COW:77,9')
    2. daten = einlesen.strip('@').split('@')
    3. daten_dict = dict(c.split(':') for c in daten)
    4. print daten_dict
    5. print ("Ausgabe:")
    6. print ("SYS;ID;SKST")
    7. print ("{0};{1};{2}".format(daten_dict['SYS'],
    8. daten_dict['ID'], daten_dict['SKST']))