def deco(func):
def in_deco(x, y):
print ('in deco')
func (x,y)
print('call deco')
return in_deco
@deco
def bar(x, y):
print 'in bar', x + y
print(type(bar))
bar(1, 2)
def in_deco(x, y):
print ('in deco')
func (x,y)
print('call deco')
return in_deco
@deco
def bar(x, y):
print 'in bar', x + y
print(type(bar))
bar(1, 2)
2017-05-28
my_sum = dec(my_sum)中:第一個my_sum只是相當于一個函數指針,名字可以隨便定義,但是老師定義成與函數my_sum重名,是有深意的,是為了引出后面所講的裝飾器內容。這樣的命名類似于裝飾器中的執(zhí)行過程。個人認為不會引起誤解。
2017-05-12
老師為什么重載my_sum呢?我猜是為了后面的裝飾器做鋪墊,不至于讓人一下子就懵掉,其實dec(my_sum)賦值給什么變量都是可以的
2017-05-06
最新回答 / 高山之藍
你說的是應該是外部函數my_sum作為一個變量寫入in_dec函數成為它的屬性。每次調用都會先按程序順序進行判斷,到return才是調用外部求和函數,而這個外部函數已經存在in_dec中,會直接取用外部函數的。每次調用的外部函數是不變的(作為元組寫在函數里面)-。-
2017-05-04