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)