2020-07-20 可变长度参数与名称空间

可变长度参数

站在实参的角度,实参是用来为形参赋值的,如果实参的个数不固定,那么必须要有形参能够接受溢出的值

*与**在形参中的应用

在形参中的*args和**args

    *args:将传进来多余的位置实参,集合成元组的形式

     **kwargs:将传进来多余的关键字实参,集合成字典的形式

在实参中*,**的作用

*可变类型的位置实参用for循环打散成位置实参

**会将其后的字典类型实参打散成关键字实参

函数的嵌套

    定义在函数内函数的特点是,一般情况下只能在函数内调用

名称空间与作用域

三种名称空间:

内置名称空间:python内置的名字

周期:python解释器启动时开始  python解释器结束后销毁

全局名称空间:用来存放顶级名字的名称空间

周期:程序开始时存活,程序结束时则销毁

局部名称空间:定义在函数内的名字

周期:函数调用时开始,结束时销毁

重要结论:名称空间的嵌套关系是在函数定义时就已经确定死了,与函数的调用位置无关。

作用域:全局作用域:内置名称空间与全局名称空间

局部作用域:局部名称空间    特点:临时存活,局部有效

global  可以将函数内的变量名,变为全局变量名

nonlocal 在函数的外层寻找变量名,如果找到了全局作用域还没找到就会报错

你可能感兴趣的:(2020-07-20 可变长度参数与名称空间)