8-9 变量作用域
c = 50
def add(x,y):
c = x + y
print(c)
# 变量作用域
add(1,2)
print(c)
# 看下图一的打印结果,虽然都是c,但是范围是不同的,故结果不一样
# 看看例2
def demo():
c = 10
print(c) #打印结果是错误的,c的使用在函数内部,直接在函数外部打印,超出了c的作用域!
# 看看例3
c = 10
def demo():
print(c)
demo() #打印结果是正确的,因为c在函数外部作用的,在函数内部引用可以打印成正确的结果
c = 10 #全局变量
def demo():
c = 50#局部变量
print(c)
demo()
def demo():
c = 50
print(c)#此时无法引用局部变量
def demo():
c = 50
for i in range(0,9):
c += 1
print(c)#此时打印结果是正确的,引用的就是局部变量
#看看下面的例子
c = 1 # 外部做一个变量。
def func1():
c = 2 # 内部做一个变量
def func2():#在函数内部在定义一个函数
c = 3
print(c)
func2()
func1()
#作用链域是一个最基本的法则
网友评论