变量的作用域
- 全局变量 Global
# 在函数内可以获取函数外的变量
# 在函数内不能直接更改函数外的变量
num = 10
def func():
print(num)
func()
# 返回结果
10
# 函数外定义函数内可变数据类型:列表、字典
# 其他数据类型在函数外定义,在函数内只能访问
varlist = [1,2,3]
def func():
print(varlist)
varlist[2] = 'aa'
return varlist
print(func())
# 返回结果
[1, 2, 3]
[1, 2, 'aa']
# 在函数内用global定义的变量是全局变量
# 函数内定义的变量是局部变量
- 局部变量Local
- Enclosed(嵌套)
- Built-in(内置)
nonlocal关键字及函数文档
变量和函数都有作用域
在内函数中如何使用上一层函数中的局部变量
# 定义一个外层函数
def outer():
# 外函数的局部变量
num = 10
# 内函数(局部函数):在函数内部定义的函数
def inner():
print(num)
inner()
outer()
# 返回结果
10
在内函数使用外函数的变量
要确定外函数含有引用变量
# 定义一个外层函数
def outer():
# 外函数的局部变量
num = 10
# 内函数(局部函数):在函数内部定义的函数
def inner():
# 在内函数使用外函数定义的局部变量
nonlocal num
num += 1
print(num)
inner()
outer()
# 返回结果
11
- 关于函数的文档
print(outer.__doc__)