Přejít k hlavnímu obsahu
🔒 Režim náhledu. Prvních patnáct lekcí Foundations je zdarma; tato je Pro. Spusťte 7denní trial pro odemčení editoru, AI nápověd a zbytku kurzu. Karta vyžadována, zrušte kdykoli v Dashboard.Spustit 7denní trial →
← KurzySenior Deep-DivesModule 11 · Decorator patterns at scaleParametrised decorators — three nested functions, not twopredict150 / 161
+150 XP
Úkol
📝 **Úkol:** Předpovězte 5řádkový výstup. Parametrizovaný dekorátor `@repeat(times=3)` zabalí ,pozdrav`. Zabalovač spustí tělo 3krát za hovor. Poslední kontrola `__name__` ověří, že `@wraps(fn)` zachoval metadata zabalené funkce. 📋 Implementujte výše uvedenou funkci. Testy probíhají automaticky. 💡 **Tip:** Pokud se zaseknete, přečtěte si znovu teorii.
Předpověz výstup

Přečti kód pozorně

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__)

Co program vypíše? Napiš sem:

💬 Diskuze

Buď první — polož otázku nebo se podělej o tip.
Přihlas se abys se zapojil do diskuze. Čtení je zdarma.
Načítání diskuze…