![]()
processon # 一个用于在线作图的工具
1、万能函数*args **kwargs:形参顺序:位置参数、*args,默认参数,**kwargs
def func(*args, **kwargs) # 在定义函数中,*代表聚合 **代表聚合字典
print(args)
print(kwargs)
func(*[1,2,3],*'abcd',**{'name':'benjas'},**{'age':23})
# 在执行的时候*代表打散,**代表打散字典
# 输出结果为(1, 2, 3, 'a', 'b', 'f', 'c') {'name': 'alex', 'age': 46}
2、命名空间:
全局名称空间:存放的是py文件中变量与值的对应关系
局部名称空间:临时存放的是函数体里面的变量与值的对应关系
内置名称空间:内置函数,关键字等等。如:input() print()
3、作用域:
全局作用域:全局名称空间,内置名称空间
局部作用域:局部名称空间
加载顺序:内置名称空间——>全局名称空间——>局部名称空间
取值(调用)顺序:就近原则(局部——>全局——>内置)
4、print(golobals()) # 返回一个字典:包含全局作用域的所有内容
print(locals()) # 返回一个字典:包含当前作用域的所有内容
5、关键字:global nonlocal (一般情况下内层函数不能对外层函数的变量进行修改,只能引用)
global:可以在局部声明一个全局变量
nonlocal:1、不能操控全局变量
2、在局部作用域中,对父级作用域(或者多层局部作用域),进行声明整个局部作用域的变量