Python függvény kezdőknek: így lesz érthető a kódod

A Python függvény akkor jó, ha első olvasásra világos. Ez az útmutató megmutatja, hogyan írható olvasható Python kód már kezdőként is.

Állítsd be a mivagyunk.hu-t kedvenc forrásként a Google-ben

Miért fontos az olvasható Python függvény

Sok kezdő megírja az első működő Python függvényét, majd pár hét múlva már nem érti, mit csinált. Az olvasható kód nem trükkökből épül. A lényeg az, hogy a függvény célja érthető legyen, a bemenetek világosak legyenek és a következő fejlesztő ne vakarja a fejét feleslegesen.

1. Nevezd el a Python függvény célját pontosan

A Python függvény neve legyen beszédes, mintha egy barátnak magyaráznád el, mit csinál. A jó név fél siker, mert csökkenti a kód olvasójának terhét.

Rossz példa:

def proc(d):
    return sum(d) / len(d)

Jó példa:

def calculate_average(numbers):
    return sum(numbers) / len(numbers)

A calculate_average név egyértelmű. A numbers paraméter világosan jelzi a bemenetet.

2. Használj leíró paraméterneveket a Python függvény írásakor

A paraméter neve legyen magyarázó. A kezdő betűk helyett használj érthető szavakat.

Rossz példa:

def discount(p, r):
    return p * (1 - r)

Jó példa:

def apply_discount(original_price, discount_rate):
    return original_price * (1 - discount_rate)

A függvény hívásakor azonnal látszik, mit jelentenek az értékek.

3. A Python függvény legyen rövid és egy feladatot végezzen

A túl sok feladat egy helyen átláthatatlan kódot eredményez. Jobb több kisebb függvény, mint egy nagy halmaz.

Rossz példa:

def process_order(items, customer_email, discount_code):
    # Calculate total

    subtotal = sum(item["price"] * item["quantity"] for item in items)

    # Apply discount

    if discount_code == "SAVE10":
        discount = 0.10
    elif discount_code == "SAVE20":
        discount = 0.20
    else:
        discount = 0
    total = subtotal * (1 - discount)

    # Send email

    subject = f"Order Confirmation"
    body = f"Your order total is ${total:.2f}"
    send_email(customer_email, subject, body)

    return total

Jó példa: a folyamat lépésekre bontása:

def calculate_order_subtotal(items):
    return sum(item["price"] * item["quantity"] for item in items)


def get_discount_rate(discount_code):
    discount_rates = {"SAVE10": 0.10, "SAVE20": 0.20}
    return discount_rates.get(discount_code, 0)


def apply_discount_to_subtotal(subtotal, discount_rate):
    return subtotal * (1 - discount_rate)


def send_order_confirmation_email(customer_email, total):
    subject = "Order Confirmation"
    body = f"Your order total is ${total:.2f}"
    send_email(customer_email, subject, body)


def process_order(items, customer_email, discount_code):
    subtotal = calculate_order_subtotal(items)
    discount_rate = get_discount_rate(discount_code)
    total = apply_discount_to_subtotal(subtotal, discount_rate)
    send_order_confirmation_email(customer_email, total)
    return total

A process_order így receptként olvasható.

4. Adj docstringet minden fontosabb Python függvény elejére

A név mutatja, mit csinál. A docstring megmutatja a célját, a bemeneteket és a visszatérési értéket.

Példa:

def calculate_shipping_cost(weight_kg, distance_km, is_express=False):
    """
    Calculate shipping cost based on weight and distance.

    Args:
        weight_kg (float): weight in kilograms
        distance_km (float): distance in kilometers
        is_express (bool): express shipping option

    Returns:
        float: total cost
    """

A docstring segít megérteni a működést kódolvasás nélkül is.

5. A Python függvény belsejében használj egyértelmű változókat

A kód akkor átlátható, ha a változók világosan jelzik a szerepüket.

Rossz példa:

def calc_bmi(w, h):
    h_m = h / 100
    res = w / (h_m**2)
    return round(res, 1)

Jó példa:

def calculate_bmi(weight_kg, height_cm):
    height_meters = height_cm / 100
    bmi = weight_kg / (height_meters**2)
    return round(bmi, 1)

A height_meters és bmi önmagáért beszél.

6. Kerüld a rejtélyes számokat és használj konstansokat

A mágikus számok félreértést okoznak. A konstansok egyértelművé teszik a szabályokat.

Rossz példa:

def calculate_late_fee(days_overdue):
    if days_overdue <= 7:
        return days_overdue * 2
    else:
        return 14 + (days_overdue - 7) * 5

Jó példa:

def calculate_late_fee(days_overdue):
    DAILY_FEE_FIRST_WEEK = 2
    GRACE_PERIOD_DAYS = 7
    BASE_FEE_AFTER_GRACE = 14
    DAILY_FEE_AFTER_GRACE = 5
    ...

A szabályok így láthatók és könnyen módosíthatók.

7. Adj típusjelölést minden Python függvény számára

A type hint megakadályozza a félreértést és megkönnyíti a fejlesztői hibakeresést.

Példa:

def format_user_greeting(user_name: str, age: int, is_member: bool = False) -> str:
    membership_status = "member" if is_member else "guest"
    return f"Hello {user_name}, age {age}. You are a {membership_status}."

A típusok egy pillantásra érthetők.

Mit vigyél tovább ebből az útmutatóból

A Python függvény akkor valódi érték, ha az olvasó egy pillantással érti. A jól megválasztott név, a tiszta szerkezet, a dokumentált logika és az átgondolt változók együtt alakítják ki a kódot, amely működik és érthető. A digitális világ gyors fejlődése egyre több ilyen átlátható szabályt kívánna, különösen a szabályozási vitákban, ahol a pontosság a legfontosabb.

Kérjük, ellenőrizd a mező formátumát, és próbáld újra.
Köszönjük, hogy feliratkoztál.

vagyunk.hu hírlevél