Ugrás a tartalomhoz

def

A Wikiszótárból, a nyitott szótárból


Főnév

def (tsz. defs)

  1. (informatika) A függvények a programozás egyik legfontosabb építőkövei. Lehetővé teszik, hogy a kódot kisebb, jól körülhatárolt, újrahasznosítható egységekre bontsuk. A Pythonban a függvényeket a def kulcsszóval hozzuk létre.

Ebben a leírásban megnézzük:

✅ mi az a függvény ✅ miért használunk függvényeket ✅ a def kulcsszó szintaxisát ✅ paramétereket és argumentumokat ✅ a return kulcsszó szerepét ✅ különböző példákat ✅ haladó technikákat (alapértelmezett értékek, *args, **kwargs) ✅ jó gyakorlatokat



📌 Mi az a függvény?

Egy függvény egy újrafelhasználható kódrészlet, ami valamilyen műveletet végez. Bemeneti adatokat kaphat (paraméterek), végrehajt egy sor utasítást, majd visszatérhet egy eredménnyel (return value).

Miért hasznos:

✅ Ne ismételd magad (DRY - Don’t Repeat Yourself) ✅ A kód logikus egységekre bontható ✅ Könnyebb karbantartani ✅ Könnyebb tesztelni ✅ Könnyebb olvasni és megérteni



📌 A def kulcsszó

A Pythonban a függvényt a def kulcsszóval definiáljuk.

Általános szintaxis:

def function_name(parameters):
    # Függvény törzse
    ...
    return eredmeny

Részei:

  1. def: kulcsszó, ami jelzi, hogy függvényt definiálunk
  2. function_name: a függvény neve (kisbetűs, snake_case)
  3. parameters: zárójelben felsorolt bemeneti változók (paraméterek)
  4. : kettőspont: kötelező, a törzs kezdete
  5. Függvény törzse: beljebb húzott sorok (általában 4 szóköz indentációval)
  6. Opcionális return: a függvény visszatérési értékét adja meg



📌 Egyszerű példa

def greet():
    print("Hello, world!")

# Függvény meghívása
greet()

Kimenet:

Hello, world!

Ez a legegyszerűbb forma: nincs bemenet, nincs visszatérési érték.



📌 Paraméterek és argumentumok

Mi a különbség?

  • Paraméter: a függvénydefinícióban szereplő változó
  • Argumentum: a függvényhíváskor átadott konkrét érték

Példa:

def greet(name):
    print(f"Hello, {name}!")

greet("Alice")   # 'name' paraméter, 'Alice' argumentum

Kimenet:

Hello, Alice!

A name paraméter a függvényen belül az Alice értéket veszi fel.



📌 Visszatérési érték — return

Gyakran szeretnénk, ha a függvény nemcsak végezne valamit, hanem eredményt is adna vissza.

Erre szolgál a return kulcsszó.

Példa:

def add(a, b):
    return a + b

result = add(5, 3)
print(result)

Kimenet:

8
  • A return után a függvény befejeződik és visszaadja az értéket.
  • A hívó kód a visszatérési értéket (result) el tudja menteni, fel tudja használni.

Ha nincs return, a függvény None-t ad vissza.

def no_return():
    print("Just printing")

x = no_return()
print(x)  # None

📌 Több paraméter

A függvény tetszőleges számú paramétert vehet fel.

def multiply(x, y, z):
    return x * y * z

print(multiply(2, 3, 4))  # 24

📌 Alapértelmezett paraméterek

Bizonyos paraméterekhez alapértelmezett értéket adhatunk.

def greet(name="world"):
    print(f"Hello, {name}!")

greet()           # Hello, world!
greet("Python")   # Hello, Python!
  • Ha nem adunk argumentumot, az alapértelmezett érték ("world") lesz érvényes.
  • Az alapértelmezett paramétereknek jobbról balra kell állniuk.



📌 Kulcsszavas argumentumok

Híváskor az argumentumokat nevükkel is megadhatjuk.

def introduce(name, age):
    print(f"My name is {name} and I am {age} years old.")

introduce(age=30, name="Alice")

Kimenet:

My name is Alice and I am 30 years old.

Előny:

✅ Nem kell betartani a paraméterek sorrendjét ✅ Kód olvashatóbb



📌 Változó hosszúságú argumentumlista

*args — Pozíciós argumentumok

Ha nem tudod előre, hány argumentumot kapsz:

def print_numbers(*args):
    for number in args:
        print(number)

print_numbers(1, 2, 3, 4)
  • Az args egy tuple, amiben az összes extra argumentum benne lesz.



**kwargs — Kulcsszavas argumentumok

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=30, city="Budapest")
  • A kwargs egy dictionary, ami a kulcs-érték párokat tartalmazza.



📌 Docstring — Dokumentációs string

A függvény dokumentálására a def sor után egy docstring-et írhatunk.

def add(a, b):
    """
    Összead két számot.

    Paraméterek:
    a -- első szám
    b -- második szám

    Visszatérés:
    a + b összege
    """
    return a + b

A docstring a help(add) vagy add.__doc__ révén lekérdezhető.



📌 Névterek és scope

  • A függvény belsejében definiált változók lokálisak: csak ott érvényesek.
  • Külső változókat nem módosít automatikusan (kivéve, ha global vagy nonlocal kulcsszót használsz).

Példa:

x = 10

def my_func():
    x = 5
    print(x)

my_func()  # 5
print(x)   # 10

📌 Lambda függvények

Egyszerű, névtelen függvényt is lehet definiálni lambda kulcsszóval.

add = lambda x, y: x + y
print(add(2, 3))  # 5
  • Hasznos pl. map(), filter(), sorted()-nél.



📌 Jó gyakorlatok

✅ Adj értelmes, beszédes nevet a függvénynek ✅ Írj docstringet ✅ Ne írj túl hosszú függvényt (egy függvény 1 jól körülhatárolt dolgot csináljon) ✅ Ne módosíts kívülről jövő globális változót (kerüld a global használatát) ✅ A függvény ne legyen “mágikus” — a bemenetből mindig következzen a kimenet



📌 Összefoglalás

  • A Pythonban a függvényeket a def kulcsszóval definiáljuk.
  • A függvények lehetnek bemeneti paraméterekkel és/vagy visszatérési értékkel rendelkező újrahasznosítható kódrészletek.
  • A return kulcsszóval adjuk vissza az eredményt.
  • Paraméterek lehetnek alapértelmezettek, kulcsszavasak, változó számúak.
  • A docstring segít dokumentálni a függvényt.
  • Függvények használata a Pythonban a jó minőségű, karbantartható kód alapja.


  • def - Szótár.net (en-hu)
  • def - Sztaki (en-hu)
  • def - Merriam–Webster
  • def - Cambridge
  • def - WordNet
  • def - Яндекс (en-ru)
  • def - Google (en-hu)
  • def - Wikidata
  • def - Wikipédia (angol)