本节主要内容 1、动态参数 *args **kwargs 形参 :*args将多个位置参数聚合打包成元组 **kwargs将多个关键字参数聚合打包成字典 实参 :*li1将列表进行解包打散成多个位置参数 **dic1将字典进行解包打散成多个关键字参数 形参顺序 : 位置参数、 动态参数:*args接收多个位置参数,聚合打包成元组 默认值参数 动态参数:**kwargs接收多个关键字参数,聚合打包成字典 2、名称空间-命名空间 含义 :python解释器开始执行的时候,就会开辟一个空间,每当遇到一个变量,就把变量名和值的对应关系记录下来, 这个存放变量名字和值关系的内容空间就叫名称空间(也叫‘命名空间‘) 分类 : 内置名称空间:存在python解释器为我们提供的名字,比如:list,dict,tuple,str,int等都是内置名称空间 全局名称空间:函数外申明的变量会存放在全局名称空间 局部名称空间:函数内申明的变量会存在在局部名称空间 加载顺序 :内置名称空间>全局名称空间>局部名称空间(函数执行的时候) 取值顺序 :局部名称空间>全局名称空间>内置名称空间 3、作用域 含义 :作用域就是作用范围 分类 : 全局作用域:内置名称空间+全局名称空间 局部作用域:局部名称空间 查看 : globals()函数:查看全局作用域中的内容-(全局变量和全局作用域中的函数信息) locals()函数:查看当前作用域中的内容-函数和变量 (注意:是当前,而不是局部作用域,当位置在函数内,就查看局部作用域的内容; 当位置在函数外,就是查看全局作用域的内容。取决于local()函数所在的位置) 4、函数的嵌套 关键字 : global:在函数内(局部),引入全局变量 nonlocal:在函数内(局部),调用父级命名空间中的变量 注意点:不管是global还是nonlocal关键字,变量申明和变量赋值都需要分别2行写才行,写在一行会报错 例子:global a a =20 #是正确的 global a = 20 #会报错
查看更多关于Python【day 10】函数进阶-小结的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did171034