Ugrás a fő tartalomra
🔒 Előnézet mód. Az első tizenöt Foundations lecke ingyenes; ez Pro. Indíts 7 napos trial-t, hogy feloldd a szerkesztőt, az AI tippeket és a tananyag többi részét. Kártya szükséges, bármikor lemondhatod a Dashboard-ban.7 napos trial indítása →
← KurzusokSenior Deep-DivesModule 11 · Decorator patterns at scaleParametrised decorators — three nested functions, not twopredict150 / 161
+150 XP
Feladat
📝 **Feladat:** Jósolja meg az 5 soros kimenetet. A paraméterezett "@repeat(times=3)" dekorátor becsomagolja a "greet" szót. A burkoló hívásonként háromszor futtatja a testet. Az utolsó `__name__` ellenőrzés ellenőrzi, hogy a `@wraps(fn)` megőrizte a becsomagolt függvény metaadatait. 📋 Valósítsa meg a fenti funkciót. A tesztek automatikusan futnak. 💡 **Tipp:** Ha elakad, olvassa el újra az elméletet.
Találd ki a kimenetet

Olvasd el a kódot figyelmesen

from functools import wraps


def repeat(times: int):
    def decorator(fn):
        @wraps(fn)
        def wrapper(*args, **kwargs):
            result = None
            for _ in range(times):
                result = fn(*args, **kwargs)
            return result
        return wrapper
    return decorator


@repeat(times=3)
def greet(name: str) -> str:
    print(f"hi {name}")
    return name


result = greet("Ada")
print(f"returned: {result}")
print(greet.__name__)

Mit ír ki a program? Írd ide:

💬 Beszélgetés

Légy az első — tegyél fel kérdést vagy oszd meg egy tippet.
Jelentkezz be hogy csatlakozz a beszélgetéshez. Az olvasás ingyenes.
Beszélgetés betöltése…