Python Grundlagen


Python Programme bestehen aus ‘modules’, ‘statements’, ‘expressions’, und ‘objects’.

  1. Programme bestehen aus ‘modules’.
  2. ‘Modules’ enthalten ‘statements’.
  3. ‘Statements’ enthalten ‘expressions’.
  4. ‘Expressions’ erstellen und verarbeiten ‘objects’.

Strings, Integers, Floats und Variablen

  • Strings: Einfach nur eine Bezeichnung für Text. Text wird in Python entweder mit doppelten ” ” oder einfachen ’ ’ Anführungszeichen gekennzeichnet. Auch Zahlen welche in mit Anführungszeichen gekennzeichnet sind werden als String interpretiert, “3” + “3” würde also nicht zu dem gewünschten Ergebnis führen. Statdessen würde die Ausgabe “33” lauten, da Python einfach die Beiden Strings miteinander verbinden würde.

  • Integers und Floats: Integers sind das was wir aus Mathe als “Ganze Zahlen” kennen also sowas wie 1, -5, 666, oder 543827. Floats sind die sogenanten “Kommazahlen” also, 4.646 - 3.14 - 698.433 oder 3.14. Achtung: beim Programmieren werden Kommazahlen immer mit einem . getrennt nicht wie bei uns üblich mit einem , wenn ihr also seltsame Ergebnisse bekommt immer nochmal prüfen ob man das richtige Zeichen verwendet hat.

  • Variablen: Variablen werden dafür verwendet um Werte bestimmten Überbegriffen zu zuweisen. land = "Deutschland" hier wäre ‘land’ eine Variable oder auch pi = 3.14.


Wichtige Datatypes

Nr. Datatype Example
1String“Hello”, ‘Hello’
2Integer25, 203, 967948
3Float3.14, 44.42, 0.34
4Lists[“hiho”, 33, 0.4]
5Dictionarysdog_1 = {‘color’: “brown”, “age”: 5}
6Tuples(1, 42, “Hiho”)
7Setsset() or {“hello”, 65, 0.33, “dark”}

Ein kurzer Ausflug in die Kommandozeile!

Unter Linux ist es von Vorteil zumindest die Grundlagen der Kommandozeile zu beherschen. Wir starten das Terminal, hier können wir jetzt unsere Befehle eingeben. Was uns zuerst ins Auge sticht ist die sogenannte Prompt:

username@myComputer:~ $

Vorne steht wie man sieht der Nutzername, nach dem @ kommt dann der Name des Computers auf dem wir uns befinden. Nach dem Doppelpunkt gibt es die sogenannte Tilde ~ was die verkürzte Version ist unser sogenanntes “Home Directory” anzuzeigen.

Um einen ersten Überblick zu bekommen wo wir uns befinden wird jetzt einfach ls eingetippt. Wenn wir in ein anderes Verzeichnis wechseln möchten, benutzen wir den Befehl cd (Change Directory). Ein weiterer wichtiger Befehl ist cp, was für “copy” steht.

Ein erstes Programm

# Hallo sagen und Namen sowie das Alter erfragen.
print('Hallo, Welt!')
print('Wie ist dein Name?')
mein_name = input('>')
print(f'Hallihallo, {mein_name}.')
print(f'Dein Name hat eine länge von {len(mein_name)} Zeichen.')
print('Wie alt bist du?')
mein_alter = input('>')
print(f'Nächstes Jahr wirst du also {int(mein_alter) + 1}')

Raspberry Pi Pico - GPIO Überblick

GPIO bedeutet ‘General Purpose Input/Output’. An diese Pins werden dann die für unser jeweiliges Projekt benötigten Komponenten angeschlossen.

Raspberry Pi Pico Pinout
Raspberry Pi Pico Pinout Übersicht

Module importieren

Sowohl in Python als auch in Micropython kann man sogenannte Module mit dem Befehl import importieren. Um die Pins des Pico ansprechen zu können, nutzen wir das Modul machine.

Onboard LED blinken

import machine
import time

led = machine.Pin("LED", machine.Pin.OUT)
count = 0

while count < 11:
    count += 1
    led.toggle()
    time.sleep(1.5)
    print(count)

Reaktionsspiel für 2 Spieler

import machine
import utime
import urandom

pressed = False
led = machine.Pin(15, machine.Pin.OUT)
left_button = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)
right_button = machine.Pin(16, machine.Pin.IN, machine.Pin.PULL_DOWN)
fastest_button = None

def button_handler(pin):
    global pressed
    if not pressed:
        pressed = True
        global fastest_button
        fastest_button = pin

led.value(1)
utime.sleep(urandom.uniform(5, 10))
led.value(0)
timer_start = utime.ticks_ms()
left_button.irq(trigger=machine.Pin.IRQ_RISING, handler=button_handler)
right_button.irq(trigger=machine.Pin.IRQ_RISING, handler=button_handler)

while fastest_button is None:
    utime.sleep(1)
if fastest_button is left_button:
    print("Der linke Spieler gewinnt!")
elif fastest_button is right_button:
    print("Der rechte Spieler gewinnt!")

Wetterstation Projekt

Den dazugehörigen Code findet man auf meiner Git Seite: PiPico_WeatherStation

Bilderrahmen mit Neopixel LED Matrix