把列表中多个值传入函数,调用时 +*
def func(*args): print(args) l = [1,2,3,4,5,6,7,8,9] func(*l)
传入dict中多个值,调用时+**
def func2(**kwargs): print(kwargs) dic = {'k1':1,'k2':2} func2(**dic)
函数的参数:
形参: 位置参数,*args,默认参数,**kwargs
实参: 按照位置传入/按照关键字传入
命名空间:
(1) 内置命名空间:python中内置
(2) 全局命名空间:自己命名,从上到下依次加载进内存.
(3) 局部命名空间:函数内部定义的,当调用函数是才会起作用,随着函数的结束而结束.
(global)
作用域:
全局作用域
局部作用域:对于不可变的数据类型,在局部可以查看全局作用域中的变量,不能直接修改(通过global修改),
如果局部作用域声明了global变量,那这个变量在全局有效
locals() 查看局部作用域中的变量