Dekoratorius (simple example ex 1) - herburt30/info GitHub Wiki
Užduotis Nr. 1. Parašyk dekoratorių, kuris, prieš iškviesdamas funkciją apie žaidėją, atspausdins pranešimą „Žaidėjo statistika“. Panaudok šį dekoratorių funkcijai, kuri atspausdina žaidėjo vardą, taškus ir atkovotus kamuolius.
Sprendimas
- Dekoratorius
def zaidejo_info(func):
def info(vardas, taskai, kamuoliai):
print("Ryto žaidėjo statistika")
func(vardas, taskai, kamuoliai)
return info
- Funkcija, kuri bus dekoruota
@zaidejo_info
def parodyti_statistika(vardas, taskai, kamuoliai):
print(f"{vardas}: {taskai} taškai, {kamuoliai} atkovoti kamuoliai")
- Funkcijos iškvietimas
parodyti_statistika("Margiris Normantas", 18, 12)