函数动态参数和Python中的三种空间

  • 动态参数 : *args

    • 实参角度: 定义一个函数时, * 将所有的位置参数聚合到一个元祖中

    • 顺序 : 位置参数 > * args > 默认参数 > **kwargs

    • 接受所有参数 :

      def fun (*args,**kwargs):
          print(args,kwargs)
      fun(11,2,sex = 3,)
      
    • 在实参位置上给一个序列,列表,可迭代对象前面叫上*表示把这个序列按顺序打散,打散字典需要用**

    • 在形参的位置上的*表示把接受到的参数组合成一个元组,

  • 仅限关键字参数。(了解)

6.命名空间

  • 从空间角度研究函数
    • 全局空间名称 : py文件运行时所开辟的空间,存放的是执行的py文件(除去内部函数)的所有变量与值(地址)的对应关系,整个py文件结束之后,才会消失
    • 临时(局部)名称空间 : 函数执行时,在内存中临时开辟的一个空间,存放的函数中的变量与值的对应关系,随着函数的结束而消失
    • 内置名称空间 : input ,print 内置函数等
  • 取值顺序加载顺序
    • 加载顺序 : 上面三个空间,谁先加载到内存
      • 内置名称空间--->>全局名称空间--->>(函数执行时)临时名称空间
    • 取值顺序 : 就近原则
  • 作用域
    • 全局作用域 : 全局名称空间,内置名称空间
    • 局部作用域 : 局部名称空间
  • 内置函数
    • globals : 查看全局作用域
    • locals : 查看当前作用域
  • 高阶函数(嵌套函数)
原文地址:https://www.cnblogs.com/W-Y-C/p/11047073.html