Python的區域性變數和全域性變數

2021-09-29 07:47:58 字數 773 閱讀 3692

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:

2010

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關鍵字可以在函式內部修改全域性變數

static全域性 區域性變數,全域性變數及區域性變數

1 static變數和全域性變數都是分配在 靜態儲存區 2 static全域性變數 static區域性變數 全域性變數和區域性變數區別 他們都是分配在 靜態儲存區內,都是在程式開始的時候初始化的,他們的區別是作用域不同,static全域性變數作用域是在申明所在的檔案中,而全域性變數是全域性的,其他檔...

python區域性變數和全域性變數

name gongwei 要在函式裡修改全域性變數,需要用globle home earth china cq def change name home 地球 注意只有字串和單獨數值在區域性變數中修改全域性變數要用globle輔助,其他如列表 字典可以直接修改 global name name xu...

python 區域性變數和全域性變數

在python中全域性變數可以作用於所有域,而函式內部呼叫時會優先使用區域性變數,如果搜尋不到區域性變數就會在全域性中搜尋相同的變數 當然,以上並不意味著我們不能在函式內部使用全域性變數。python 的作用域規則是,變數的建立總是會建立乙個新的區域性變數但是變數的訪問 包括修改 在區域性作用域查詢...