Domyślne argumenty funkcji w Pythonie

W programowaniu funkcje często wymagają argumentów (parametrów) do wykonania operacji. Python, będąc elastycznym językiem, pozwala na definiowanie funkcji z domyślnymi wartościami argumentów, które są używane, gdy podczas wywołania funkcji nie podano konkretnej wartości. Dzięki temu programista może zapewnić większą elastyczność i czytelność kodu, a także uniknąć błędów związanych z brakiem argumentów. W tym artykule przyjrzymy się różnym aspektom i przykładom wykorzystania domyślnych argumentów w Pythonie.

Przykłady zastosowania domyślnych argumentów

# Definiowanie funkcji z domyślnymi argumentami
def calculateArea(width=10, height=5):
    # Obliczanie i zwracanie powierzchni
    return width * height

# Wywołanie funkcji bez argumentów, użyte zostaną domyślne wartości
defaultArea = calculateArea()
print(f"Domyślna powierzchnia: {defaultArea}")

# Wywołanie funkcji z jednym argumentem, drugi zostanie domyślny
customWidthArea = calculateArea(width=20)
print(f"Powierzchnia z niestandardową szerokością: {customWidthArea}")

# Wywołanie funkcji z oboma niestandardowymi argumentami
customArea = calculateArea(width=15, height=10)
print(f"Niestandardowa powierzchnia: {customArea}")

W powyższym przykładzie funkcja calculateArea ma dwa parametry: width i height, oba z domyślnymi wartościami. Dzięki temu, nawet jeśli nie podamy żadnych argumentów przy wywołaniu, funkcja zadziała poprawnie, używając wartości domyślnych.

Zastosowanie domyślnych argumentów do bardziej złożonych typów danych

# Funkcja z domyślnym argumentem typu lista
def addToInventory(item, inventory=None):
    if inventory is None:
        inventory = []  # Tworzenie nowej listy, jeśli nie podano
    inventory.append(item)
    return inventory

# Dodawanie elementów do inwentarza
firstInventory = addToInventory("miecz")
secondInventory = addToInventory("łuk")

print(f"Pierwszy inwentarz: {firstInventory}")
print(f"Drugi inwentarz: {secondInventory}")

W tym przypadku używamy None jako domyślną wartość dla argumentu inventory, aby uniknąć dzielenia tej samej listy między różne wywołania funkcji. Jest to ważne, ponieważ argumenty domyślne są oceniane tylko raz, przy definicji funkcji, co może prowadzić do nieoczekiwanych efektów przy mutowalnych typach danych, takich jak listy.

Podsumowanie

Domyślne argumenty w Pythonie są potężnym narzędziem, pozwalającym na tworzenie bardziej elastycznego i czytelnego kodu. Pozwalają one na wywoływanie funkcji z mniejszą liczbą argumentów, gdy reszta może przyjąć rozsądne wartości domyślne. Ważne jest jednak, aby używać domyślnych argumentów świadomie, zwłaszcza przy mutowalnych typach danych, aby uniknąć nieoczekiwanych zachowań. Dzięki domyślnym argumentom, kod staje się bardziej modularny i łatwiejszy w utrzymaniu.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top