美文网首页
python入门与进阶(8-9)

python入门与进阶(8-9)

作者: buaishengqi | 来源:发表于2018-05-02 19:30 被阅读14次

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()
#作用链域是一个最基本的法则


相关文章

网友评论

      本文标题:python入门与进阶(8-9)

      本文链接:https://www.haomeiwen.com/subject/zrmcrftx.html