Skip to content

kmi-jp/template-L04E03

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

L04E03: Debug decorator

Vytvořte modul debug.py obsahující @debug dekorátor, který při zavolání obalené funkce vypíše na standardní výstup seznam argumentů (args), seznam pojmenovaných argumentů (kwargs), název funkce a výsledek v následujícím formátu. Zbytek funkce a její návratová hodnota funguje stejně.

Pro získání hodnoty argumentu a výsledku použijte funkci repr().

Soubor debug.py nesmi obsahovat žádný jiný kód než je kód dekorátoru. Případně testování provádějte v jiných souborech, které nebudete do repozitáře commitovat.

# vrátí reprezentaci hodnoty 2
repr(2)

# vrátí reprezentaci výsledku sum(2, 3)
repr(sum(2, 3))

Příklad použití:

@debug
def my_sum(a, b):
    return a + b

assert my_sum(6, 9) + 2 == 17

Na standardní výstup vypíše:

Calling: my_sum(6, 9)
Result: 15

@debug
def my_sum(a, b):
    return a + b

assert my_sum(2, b=3) + 2 == 7

Na standardní výstup vypíše:

Calling: my_sum(2, b=3)
Result: 5

@debug
def test():
    return 42

assert test() == 42

Na standardní výstup vypíše:

Calling: test()
Result: 42

@debug
def test():
    pass

assert test() == None

Na standardní výstup vypíše:

Calling: test()
Result: None

Lokální testování

Funkčnost řešení ověříte následujícím příkazem:

pytest tests.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages