Python的局部變量和全局變量

num = 10


def func():
    x = num + 10
    print(x)


def func2():
    # 報錯,因爲num作爲左值被認爲是局部變量了,不能在賦值之前使用
    # num = num + 10
    print(num)


func()
func2()
# 報錯,不存在x
# print(x)
print(num)

# 以下是輸出內容:
Out:
20
10
10

總結:
    1. 在函數內重新定義的量如果與外部變量重名,是局部變量
    2. 在函數內僅僅使用的量如果與外部變量重名,是全局變量
    即:不能在函數內部修改全局變量!

 

但是我們可以使用global關鍵字:

num = 10


def func3():
    global num
    print('num:', num)
    num += 10
    print('num:', num)


print('num:', num)


Out:
num: 10
num: 20
num: 20

這樣就做到了在函數內部修改全局變量了

    3. 使用global關鍵字可以在函數內部修改全局變量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章