Link Search Menu Expand Document

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 ImportsAbruf der Funktionenguter Stil?
from math import * sin(pi)in speziellen Fällen
from math import sin, cossin(pi)in speziellen Fällen
import mathmath.sin(math.pi)ja
import math as mm.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])
  • B ist eine solche Matrix, die in der ersten Zeile $1,2,3$, sowie in der zweiten $4,5,6$ enthält.
  • A ist eine $2\times 3$-Matrix, die Nullen (als Fließkommazahlen) enthält.
  • v ist 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)