函数基础之对象,嵌套,名称空间和作用域

Posted shiqizz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数基础之对象,嵌套,名称空间和作用域相关的知识,希望对你有一定的参考价值。

函数对象

函数名和变量名是等同的

  1. 引用
  2. 函数的参数
  3. 函数的返回值
  4. 容器类元素

函数的嵌套

def f1():
    def f2():
        pass

函数的调用

def f1():
    pass

f1()


def f2():
    f1()

# 函数必须得先定义后调用

名称空间与作用域

内置名称空间

Python解释器的内置方法,如 len/int/float, python解释器启动的时候就有了

全局名称空间

python文件执行的时候生成

局部名称空间

函数调用的时候生成

执行顺序 内置-->全局-->局部

查找顺序 当前位置开始 局部-->全局-->内置

全局作用域

内置+全局

局部作用域

局部

  1. 全局作用域内的变量(x=1)和局部作用域内的变量(x=1),两个x没有任何关系,只针对不可变类型
  2. 局部作用域1内变量(x=1)和局部作用域2内变量(x=1),两个x也没有任何关系,只针对不可变类型

以上是关于函数基础之对象,嵌套,名称空间和作用域的主要内容,如果未能解决你的问题,请参考以下文章

python基础之名称空间和作用域函数嵌套

python基础:函数对象函数嵌套名称空间与作用域装饰器

函数

函数基础2

可变长参数函数对象嵌套名称空间和作用域

python基础之函数(动态参数,注释,名称空间,第一类对象及使用和函数嵌套)