• 329 动态函数,作用域,嵌套函数,关键字



    动态参数 *args **kwargs
    *args 动态参数,万能参数
    args接受的就是实参对应的 所有位置参数,并将其放在元组中。
    形参对应顺序:位置参数,*args,默认参数
    **kwargs 动态传参,他将所有的关键字参数(无意义的)放到一个字典中。
    形参角度:

    最终顺序:位置参数,*args,默认参数,**kwargs
     在函数的调用执行时,
    *可迭代对象,代表打散(list,tuple,str,dict(键))将元素一一添加到args。
    **字典,代表打散,将所有键值对放到一个kwargs字典里。
    在函数定义时, *args,**kwargs代表的是聚合。
    名称空间:
    名称空间(命名空间),临时名称空间,内置名称空间。

    全局名称空间,名称空间,命名空间,全局命名空间。
    局部命名空间,临时名称空间,临时命名空间,局部名称空间,。
    内置名称空间,所有的内置函数等存储的空间。
    加载顺序:
    内置名称空间 ---> 全局名称空间--->(函数执行时)局部名称空间。
    取值顺序:
    函数执行时:局部名称空间 -->全局名称空间 -->内置名称空间

    当执行函数的时候,他会在内存中开辟一个临时名称空间,存放函数体内的所有变量与值的关系,
    # 随着函数的执行完毕,临时空间自动关闭。
    #input(),print(),len 内置函数


    函数的嵌套
    函数调用的时候执行。
    代码从上至下依次执行, 调用函数:函数里面从上至下依次执行。

    关键字
    globals()   全局名称空间:所有变量  对可变数据类型(list,dict,set)可以直接引用不用通过global。
    locals() 局部名称空间:所有变量
    global
    1,在局部空间内,声明一个全局变量 
    2,在局部空间内改变一个全局变量
    nonlocal
    1,不能修改全局变量。
    2,在局部作用域中,对父级作用域(或者更外层作用域非全局作用域)的变量进行引用和修改,
    并且引用的哪层,从那层及以下此变量全部发生改变。
  • 相关阅读:
    linux使用tar命令打包压缩时排除某个文件夹或文件
    SEO误区之——静态化页面
    Usage of API documented as @since1.6+
    JAVA多线程售票问题
    nginx基本配置与参数说明
    ElasticSearch搜索实例含高亮显示及搜索的特殊字符过滤
    实例讲解Nginx下的rewrite规则
    postgresql之ctid的浅谈
    【转载】PostgreSQL分区表(Table Partitioning)应用
    PostgreSQL中使用外部表
  • 原文地址:https://www.cnblogs.com/Mr-Murray/p/8672722.html
Copyright © 2020-2023  润新知