一.局部变量
例如:定义函数中的赋值,只局限于定义函数内部,外部无法调用
二.全局变量
三.global关键字
例如:
count = 10
myfun()
10
def myfun():
global count #gobal用于影响全局变量
count = 5
print(5)
myfun()
5
count
5
四.内嵌函数
例如:
def myfun1():
print(“now using 1”)
def myfun2():
print(“now using 2”)
myfun2()
myfun1()
now using 1
now using 2
#内部函数整个作用域都在外部函数之内
#内嵌函数的定义,外部无法调用
myfun2()
Traceback (most recent call last):
File “<pyshell#7>”, line 1, in
myfun2()
NameError: name ‘myfun2’ is not defined. Did you mean: ‘myfun1’?
五.闭包
例如:
def funx(x):
def funy(y): #这里的y就是闭包
return x*y
return funy
i = funx(5)
i(5)
25
六.nonlocal关键字
例如:
def fun1():
x = 5
def fun2():
nonlocal x #强制声明x不是一个局部变量
x *= x
return x
return fun2()
fun1()
25