Kursinhalt
Python-Funktionen-Tutorial
Python-Funktionen-Tutorial
Kombination von Positions- und Optionalen Argumenten
Betrachten Sie eine Funktion, die dazu entwickelt wurde, die Gesamtkosten von Smartphones zu berechnen, wobei Sie verschiedene Attribute sowohl während der Initialisierung als auch beim Aufruf der Funktion angeben können.
def calculate_smartphone_cost(model, price, quantity=1, discount=0): total_cost = price * quantity discount_amount = total_cost * (discount / 100) discounted_cost = total_cost - discount_amount print(f"Model: {model}") print(f"Unit price: ${price}") print(f"Quantity: {quantity}") print(f"Total cost before discount: ${total_cost}") if discount > 0: print(f"Discount: {discount}%") print(f"Discount amount: ${discount_amount}") print(f"Discounted cost: ${discounted_cost}") else: print("No discount applied.") print(f"Final cost: ${discounted_cost}") print() # Examples of using the function calculate_smartphone_cost("iPhone 13", 1099, 2) calculate_smartphone_cost("Samsung Galaxy S21", 999, 1, 10) calculate_smartphone_cost("Google Pixel 6", 799, quantity=3, discount=5)
Regeln zur Angabe von Argumenten
Positionsargumente
Positionsargumente müssen in der Reihenfolge angegeben werden, in der sie in der Funktionsdeklaration definiert sind. Zum Beispiel sind in der Funktion calculate_smartphone_cost
die Parameter model
und price
Pflichtpositionsargumente.
Optionale (benannte) Argumente
Optionale Argumente können entweder positionell oder unter Verwendung benannter Parameter angegeben werden. In diesem Beispiel sind quantity
und discount
optionale Argumente mit Standardwerten, die mittels benannter Parameter beim Funktionsaufruf geändert werden können.
Standardwerte
Wenn ein optionales Argument beim Aufruf der Funktion nicht angegeben wird, wird sein Standardwert verwendet. Zum Beispiel übernimmt die Funktion calculate_smartphone_cost
automatisch die Werte 1 und 0 für quantity
und discount
, sofern diese nicht anders angegeben werden.
Benannte Parameter
Benannte Parameter ermöglichen eine präzise Angabe der Werte für optionale Argumente und legen deren Reihenfolge fest. Dies verbessert die Klarheit und Lesbarkeit des Codes, insbesondere bei der Verwendung mehrerer optionaler Parameter.
Dieses Beispiel und die Regeln zur Angabe von Argumenten veranschaulichen, wie eine Kombination aus Positionsargumenten und benannten (optionalen) Argumenten effektiv genutzt werden kann, um Funktionen zu erstellen, die sowohl flexibel als auch benutzerfreundlich sind und dabei die Klarheit und das erwartete Verhalten des Codes beibehalten.
1. Was ist die Kombination aus Positionsargumenten und optionalen Argumenten in Funktionen?
2. Wie definiert man eine Funktion mit Positionsargumenten, gefolgt von optionalen Argumenten?
Danke für Ihr Feedback!