-
闭包概念(Closure):内部函数中对enclosing作用域的变量进行引用 函数的实质与属性: 1:函数是一个对象 2:函数执行完成后内部变量回收,返回函数不被回收 3:函数属性 4:函数返回值 闭包作用:1.封装、2.代码复用查看全部
-
Local(函数内部作用域)Enclosing(函数内部与函数之间)Global(全局作用域)Build-in(内置作用域)函数调用优先级查看全部
-
1.装饰器用来装饰函数 2.返回一个函数对象 3.被装饰函数标识符指向返回的函数对象 4.语法糖 @deco查看全部
-
basic查看全部
-
没看到第一个值查看全部
-
装饰器过程查看全部
-
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 my_sum(*arg): print 'in my_sum' return sum(arg) def my_average(*arg): print 'in my_average' return sum(arg)/len(arg) def dec(func): def in_dec(*arg): print 'in dec arg=', arg if len(arg) == 0: return 0 for val in arg: if not isinstance(val, int): return 0 return func(*arg) return in_dec my_sum = dec(my_sum) my_average = dec(my_average) print (my_sum(1,2,3,4,5)) print (my_sum(1,2,3,4,5,'6')) print (my_average(1,2,3,4,5)) print (my_average(1,2,3,4,5,'6'))查看全部
-
LEGB,函数调用优先级查看全部
-
#coding:utf-8 def func_150(val): passline = 90 if val >= passline: print ('pass') else: print ('fail') def func_100(val): passline = 60 if val >= passline: print ('pass') else: print ('fail') def det_passline(passline): def cmp(val): if val >= passline: print ('pass') else: print ('fail') return cmp func_150(89) func_100(89)查看全部
-
LEGB查看全部
-
当调用@dec语法糖时,python解释器会将my_sum作为一个参数,传给dec函数,返回in_dec查看全部
-
闭包函数的好处是,可以同时引入两个乃至多个变量,主函数一个,内部定义一个,实现同一套函数的多次赋值引用;查看全部
-
装饰器在Python使用如此方便都要归因于Python的函数能像普通的对象一样能作为参数传递给其他函数,可以被赋值给其他变量,可以作为返回值,可以被定义在另外一个函数内。查看全部
-
语法糖。。。装饰器是什么查看全部
举报
0/150
提交
取消