5.4 KiB
📘 Tag 11
Funktionen
Bisher haben wir viele eingebaute Funktionen genutzt. Jetzt lernen wir, wie wir unsere eigenen Funktionen erstellen. Eine Funktion ist ein wiederverwendbarer Codeblock, der eine bestimmte Aufgabe erfüllt.
Eine Funktion definieren
Python nutzt das Schlüsselwort def, um eine Funktion zu deklarieren. Der Codeblock innerhalb der Funktion wird nur ausgeführt, wenn die Funktion aufgerufen (invoked) wird.
# Syntax
def funktions_name():
code
Funktionen deklarieren und aufrufen
def generate_full_name():
first_name = 'Asabeneh'
last_name = 'Yetayeh'
print(first_name + ' ' + last_name)
generate_full_name() # Aufruf der Funktion
Funktionen mit Rückgabewerten (Return)
Mit return gibt eine Funktion ein Ergebnis an den Aufrufer zurück. Ohne return gibt die Funktion standardmäßig None zurück.
def add_two_numbers():
return 2 + 3
result = add_two_numbers()
print(result) # 5
Funktionen mit Parametern
Parameter ermöglichen es uns, Daten in die Funktion einzuspeisen.
- Einzelner Parameter:
def greetings(name):
return f'{name}, willkommen zu Python!'
print(greetings('Asabeneh'))
- Mehrere Parameter:
def calculate_age(current_year, birth_year):
return current_year - birth_year
print(calculate_age(2021, 1990))
Standardparameter
Wir können Parametern Standardwerte zuweisen. Diese werden genutzt, wenn beim Aufruf kein Argument übergeben wird.
def weight_of_object(mass, gravity = 9.81):
return mass * gravity
print(weight_of_object(100)) # Nutzt 9.81
print(weight_of_object(100, 1.62)) # Nutzt Mond-Gravitation
Variable Anzahl an Argumenten (*args & **kwargs)
*args: Wenn du nicht weißt, wie viele Argumente übergeben werden, nutzt du*args. Sie werden als Tupel behandelt.**kwargs: Für eine variable Anzahl an benannten Argumenten. Sie werden als Dictionary behandelt.
def sum_all_nums(*nums):
total = 0
for num in nums:
total += num
return total
print(sum_all_nums(1, 2, 3, 4)) # 10
Funktion als Parameter
In Python sind Funktionen "First-Class Citizens", was bedeutet, dass man sie wie Variablen behandeln und an andere Funktionen übergeben kann.
💻 Übungen - Tag 11
Level 1
- Deklariere eine Funktion
add_two_numbers. - Berechne die Fläche eines Kreises (
area_of_circle). - Schreibe
add_all_nums, die eine beliebige Anzahl an Zahlen summiert. Prüfe, ob die Eingaben Zahlen sind. - Wandle Celsius in Fahrenheit um.
- Schreibe
check_season, die basierend auf einem Monat die Jahreszeit zurückgibt. - Berechne die Steigung einer linearen Gleichung.
- Löse eine quadratische Gleichung (
solve_quadratic_eqn). print_list: Gibt jedes Element einer Liste aus.reverse_list: Gibt eine Liste umgekehrt zurück (nutze Schleifen).capitalize_list_items: Schreibt alle Elemente einer Liste groß.add_item/remove_item: Fügt ein Element am Ende hinzu bzw. entfernt es.- Summiere alle Zahlen in einem Bereich (
sum_of_numbers).
Level 2
evens_and_odds: Zählt die Anzahl der geraden und ungeraden Zahlen in einem Bereich.- Berechne die Fakultät (
factorial) einer Zahl. is_empty: Prüft, ob ein Parameter leer ist.- Berechne statistische Werte für eine Liste: Durchschnitt (Mean), Median, Modus, Varianz, Standardabweichung.
greet: Begrüßt einen Nutzer oder einen "Gast" als Standard.
Level 3
is_prime: Prüft, ob eine Zahl eine Primzahl ist.- Prüfe, ob alle Elemente einer Liste einzigartig sind.
- Prüfe, ob alle Elemente einer Liste denselben Datentyp haben.
- Finde die meistgesprochenen Sprachen und bevölkerungsreichsten Länder aus der
countries-data.py.
🎉 HERZLICEN GLÜCKWUNSCH! 🎉
