Czy dobrze rozumiem kolejność wykonywania funkcji z dekoratrorem?
1. program natrafia na welcome('Marek') i idzie do tej funkcji
2. przy def welcome(name) jest dekorator, więc wykonuje się funkcja deko(welcome)
3. deco(welcome) zwraca niewywołany wrapper do pierwotnego wywołania welcome('Marek')
4. welcome('Marek') zamienia się (?) na wrapper('Marek') i drukuje się func(name.upper())
Ma to sens?
#python #naukaprogramowania
1. program natrafia na welcome('Marek') i idzie do tej funkcji
2. przy def welcome(name) jest dekorator, więc wykonuje się funkcja deko(welcome)
3. deco(welcome) zwraca niewywołany wrapper do pierwotnego wywołania welcome('Marek')
4. welcome('Marek') zamienia się (?) na wrapper('Marek') i drukuje się func(name.upper())
Ma to sens?
def deco(func):
....def wrapper(name):
........func(name.upper())
....return wrapper
@deco_
def welcome(name):
....print('Hello,', name)
welcome('Marek')
#python #naukaprogramowania
class Player:
....def name(self):
........try:
............print(self.first_name, self.last_name)
........except:
............print('No such player')
p1, p2, p3 = Player(), Player(), Player()
p1.first_name, p1.last_name = 'Cristiano', 'Ronaldo'
p2.first_name, p2.last_name = 'Leo', 'Messi'
p3.name()
#python #naukaprogramowania