摘要: 闭包定义:1、闭包是一个嵌套函数2、闭包必须返回嵌套函数3、嵌套函数必须引用一个外部的非全局的局部自由变量 # 面试题 def num(): return [lambda x:i*x for i in range(4)]# num() -> [函数,函数,函数,函数]print([ m(2) for 阅读全文
posted @ 2020-06-08 19:50 Mr_zho 阅读(146) 评论(0) 推荐(0) 编辑
摘要: def func(a,b=[]) 有什么陷阱?def func(a,b=[]): b.append(a) return bl1 = func(1)l2 = func(2,[11,22])l3 = func(3)print(l1,l2,l3) #执行结果: [1,3] [11,22,2] [1,3] 阅读全文
posted @ 2020-06-08 11:00 Mr_zho 阅读(2648) 评论(0) 推荐(1) 编辑
摘要: 装饰器:在不改变原函数内部代码的基础上,在函数执行之前和之后自动执行某个功能。 目的:在不改变原函数的基础上,再函数执行前后自定义功能。 编写装饰器 和应用 # 装饰器的编写def x(func): def y(): # 前 ret = func() # 后 return ret return y 阅读全文
posted @ 2020-06-07 19:52 Mr_zho 阅读(116) 评论(0) 推荐(0) 编辑
摘要: map,循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回。 v1 = [11,22,33,44]result = map(lambda x:x+100,v1)print(list(result)) # 特殊 filter 循环每个元素(第 阅读全文
posted @ 2020-06-05 23:39 Mr_zho 阅读(135) 评论(0) 推荐(0) 编辑
摘要: *args:可以理解为只有一列的表格,长度不固定。 **kwargs:可以理解为字典,长度也不固定。 1、函数调用里的*arg和**kwarg: (1) *arg:元组或列表“出现” **kwarg:字典“出没” (2)分割参数 2、函数定义时传的*arg /**kwarg: (1)接收参数 阅读全文
posted @ 2020-06-04 13:26 Mr_zho 阅读(722) 评论(0) 推荐(0) 编辑