函数,闭包,装饰器

函数:(优先级:关键字参数,默认参数,无命名参数,有命名参数)

高阶函数的性质:

函数名可以进行赋值因为它是变量
函数可以当作函数的返回值进行返回

参数:

关键字参数可以不按照位置来写

位置参数不可以交换位置

不定长参数(无命名参数):*arg      返回元组

有命名参数:**kwarg            返回字典

默认参数:必须跟在最后。

如果就想要传入一个字典参数可以加**{}

装饰器:

函数可以当作函数的返回值进行返回

return的作用: 结束函数、返回值(如果十多个对象返回一个元组)

函数的作用域:

L:local 局部作用域指函数中定义的变量。
E:enclosing 嵌套的父级函数的局部作用域,既包含函数的上级函数的作用域,但不是全局的。
G:globa 全局变量,就是模块级别的变量。
B:built-in 系统固定模块里面的变量,比如int,bytearray等。
搜索变量的优先级:局部作用域>外层作用域>当前模块全局>python内置作用域。  也就是LEGB
 函数有自己的作用域。
 +局部作用域不能修改全局作用域的值。或者告诉局部我这个值是全局的用关键字global
在enclosing 用nonlocal 配合修改而使用。

递归函数:

1.调用自身函数。
2.有一个结束条件
3.效率低
4.但凡递归可以写的,循环都可以写。

关于闭包:(闭包是一种现象)

内部函数+定义函数时的一个环境

posted on 2019-01-03 15:32  萌新python  阅读(68)  评论(0)    收藏  举报