Funktionen & Imports
Vorweg etwas über Funktionen
Wie eine Funktion in Python deklariert wird, sei an zwei Beispielen gezeigt.
def funktionsname( .... ):    # durch Komma getrennte Argumente, u.U. auch kein Argument
        ..........
        ..........          # Block der Funktion
        ..........
        return ...          # Werte, die die Funktion zurückgibt, kann entfallen
def flaeche(a, b):
    return a*b                  # diese Funktion gibt einen Wert zurück
Imports
| Form des Imports | Abruf der Funktionen | guter Stil? | 
|---|---|---|
| from math import *  | sin(pi) | in speziellen Fällen | 
| from math import sin, cos | sin(pi) | in speziellen Fällen | 
| import math | math.sin(math.pi) | ja | 
| import math as m | m.sin(m.pi) | ja | 
Weitere wichtige Bibliotheken
numpy
Für numerische Berechnungen werden wir häufig das Modul numpy (Numerical Python) benutzen.
import numpy as np
np.sin(np.pi / 2.0)
Damit ist es möglich, Matrizen, Vektoren, Tensoren als so genannte Arrays zu definieren:
B = np.array([[1, 2, 3], [4, 5, 6]])
A = np.zeros((2,3))
v = np.array([1.0, 3.0, 5.0])
- Bist eine solche Matrix, die in der ersten Zeile $1,2,3$, sowie in der zweiten $4,5,6$ enthält.
- Aist eine $2\times 3$-Matrix, die Nullen (als Fließkommazahlen) enthält.
- vist ein Vektor, dessen 3 Einträge 1.0, 3.0 und 5.0 sind.
matplotlib
matplotlib ist eine mächtige Biblothek zur grafischen Darstellung von Daten.
import matplotlib.pyplot as plt
# Zunächst erstelle ich einige Listen, die gleich geplottet werden sollen.
x_werte = [0, 1, 2, 3, 4, 5]
y_werte1 = [0, 0, 2, 2, 4, 4]
y_werte2 = [3, 3, 1, 1, 0, 0]
plt.scatter(x_werte,y_werte1) #erzeugt punkte
plt.plot(x_werte,y_werte1) #erzeugt verbindungslinien
plt.scatter(x_werte,y_werte2, marker = "x") #erzeugt kreuze
plt.plot(x_werte,y_werte2) #erzeugt verbindungslinien
plt.show()
Schall
Wer mit Daten von Tonaufnahmen umgehen will, könnte das interessant finden.
Hinweis: um das Modul schallwerkzeuge zu benutzen, muss das Modul pyaudio mit dem Befehl conda install pyaudio in der Konsole installiert werden!
import matplotlib.pyplot as plt
from schallwerkzeuge import *
y = recordsnd(None, 2)
plt.plot(y)
plt.show()
playsnd(y, RATE)
playsnd(y, 2*RATE)