python 之路 第10天 函数的用法*

​ 万能的2个行参*args​ 那么这个形参会将实参所有的位置参数接收,放置在一个元组中

**kwargs,是接受所有的关键字参数然后将其转换成一个字典赋值给kwargs这个形参。

* 的魔性用法  打散 聚合

位置参数,默认值参数,动态参数*args,**kwargs,

 形参的顺序   所有形参的顺序为:位置参数,*args,默认参数,**kwargs(动态接收关键字参数)。

​ 仅限关键字参数是python3x更新的新特性,他的位置要放在*args后面,kwargs前面(如果有kwargs),也就是默认参数的位置,它与默认参数的前后顺序无所谓,它只接受关键字传的参数:

1. 全局命名空间--> 我们直接在py文件中, 函数外声明的变量都属于全局命名空间

2. 局部命名空间--> 在函数中声明的变量会放在局部命名空间

3. 内置命名空间--> 存放python解释器为我们提供的名字, list, tuple, str, int这些都是内置命名空间

空间的加载顺序为:内置命名空间(程序运行伊始加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载。  

空间的取值顺序与加载顺序是相反的,取值顺序满足的就近原则,从小范围到大范围一层一层的逐步引用。

作用域就是作用范围, 按照生效范围来看分为全局作用域和局部作用域

全局作用域: 包含内置命名空间和全局命名空间. 在整个文件的任何位置都可以使用(遵循 从上到下逐⾏执行).

局部作用域: 在函数内部可以使用.

作⽤域命名空间:

1. 全局作用域: 全局命名空间 + 内置命名空间

 2. 局部作⽤域: 局部命名空间

函数的嵌套,就是一个函数中,还有函数。

global关键字有两个作用:   待续

1,声明一个全局变量。

2,在局部作用域想要对全局作用域的全局变量进行修改时,需要用到 global(限于字符串,数字)。

猜你喜欢

转载自www.cnblogs.com/saoqiang/p/10847506.html
今日推荐