09函数的动态传参及global和nonlocal关键字

#很多时候我们在定义函数的时候没法立即确定函数的个数,及类型。所以有了动态传参,这一点在python很多内置的模块中

尤为明显。

 

1、函数的动态传参

  *args:位置参数动态传参

  **kwargs:关键字参数动态传参

  顺序:位置,*args,默认值,**kwargs

  def func(*args, **kwargs): --接受所有参数(万能用法)

    pass

  形参的位置*,**:聚合

  实参的位置*,**打散

 

2、global和nonlocal:

  global:在局部中访问全局的变量

    在局部不加global访问全局变量,可以打印和return,但是不可以进行操作。

  nonlocal:在当前位置逐层向外寻找,找到后替换掉当前位置的变量,如果一只到全局变量之前还未找到,就会报错。

  

  

posted @ 2019-07-08 09:39  John.Liu-  阅读(156)  评论(0编辑  收藏  举报