def dec(f):?????def in_dec(*arg):??????????print ('call in_dec')??????????if len(arg)==0:???????????????return 0??????????for val in arg :???????????????if not isinstance(val,int):????????????????????return 0??????????return f(*arg)?????return in_dec?@dec #裝飾器的語法def my_sum(*arg):?????return sum(arg)print my_sum(1,2,3,4)def my_average(*arg):?????return sum(arg)/len(arg)print my_average(1,2,3)前面兩個函數(shù)都被裝飾器裝飾了def turn(*arg):?return? int(arg[0])print turn('1','2')這個函數(shù)就沒有被裝飾,但是如果把這個函數(shù)放在最上面,就會被裝飾,想要被裝飾但沒有作用當定義裝飾器之后的作用什么時候,如果不想后面的函數(shù)被裝飾怎么辦
添加回答
舉報
0/150
提交
取消