• Python【day 10】函数进阶-小结


    本节主要内容
    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 #会报错
  • 相关阅读:
    javascript——表单校验工具代码
    java工具类——字符串类型的时间格式转换为Timestamp类型
    log4j:WARN Please initialize the log4j system properly
    CentOS 网络配置
    linux-vim 快捷键
    2020年7月29日 数组操作练习
    2020年7月28日数组的声明,静态、动态初始化,遍历,内存分析
    2020年7月27日 练习题4、5、6、7、8、9、12
    2020年7月24日 100以内猜数字,统计次数
    2020年7月24日 编写FooBizBaz.java
  • 原文地址:https://www.cnblogs.com/wangtp/p/11603884.html
Copyright © 2020-2023  润新知