函数基础之对象,嵌套,名称空间和作用域
函数对象
函数名和变量名是等同的
- 引用
- 函数的参数
- 函数的返回值
- 容器类元素
函数的嵌套
def f1():
def f2():
pass
函数的调用
def f1():
pass
f1()
def f2():
f1()
# 函数必须得先定义后调用
名称空间与作用域
内置名称空间
Python解释器的内置方法,如 len/int/float, python解释器启动的时候就有了
全局名称空间
python文件执行的时候生成
局部名称空间
函数调用的时候生成
执行顺序 内置-->全局-->局部
查找顺序 当前位置开始 局部-->全局-->内置
全局作用域
内置+全局
局部作用域
局部
- 全局作用域内的变量(x=1)和局部作用域内的变量(x=1),两个x没有任何关系,只针对不可变类型
- 局部作用域1内变量(x=1)和局部作用域2内变量(x=1),两个x也没有任何关系,只针对不可变类型