python學習 作用域

2021-08-20 10:33:21 字數 1084 閱讀 5095

出自:

x = int(2.9)  # 內建作用域

g_count = 0

# 全域性作用域

defouter

(): o_count = 1

# 閉包函式外的函式中

definner

(): i_count = 2

# 區域性作用域

datalist = [1, 2, 3, 4]

for data in datalist:

a = 1

#for迴圈中的變數a

b = data + a

print(a) #在函式外也可視為全域性變數使用

a = 1

defdemo

():# ide提示a = 123:this inspection detects shadowing names defined in outer scopes

# 大概意思是給變數取的這個名字,可能會衝突,它是函式外部的變數

a = 123

print(a)

demo()

print(a)

執行結果是

1231

全域性變數a的值還是1,沒有被改變

a = 1

defdemo

():global a

a = 123

print(a)

demo()

print(a)

執行結果是

123123

全域性變數a的值被修改

def

outer

(): num = 10

definner

():nonlocal num # nonlocal關鍵字宣告

num = 100

print(num)

inner()

print(num)

outer()

執行結果為

100100

閉包函式外的變數num值被修改

Python函式學習 作用域與巢狀函式

name alex li 全域性變數 def change name name print before change name 函式內部變數從內向外找,如果內部不存在,會找上一層 輸出 before change alex li name 金角大王,乙個有tesla的男人 區域性變數 print ...

python學習 函式 作用域

定義函式 def do nothing pass 呼叫函式 do nothing none 是python中的乙個特殊的值,它和false,空值是有區別的。注意函式引數的傳入。使用 收集位置引數 當引數被用在函式內部時,星號將一組可變數量的位置引數集合成引數值的元組。def print args a...

Python作用域 全域性作用域 區域性作用域

在python中,每個函式都會建立乙個作用域。pythonistas也可能稱函式擁有它們自己的命名空間 namespace 這意味著當在函式體裡遇到變數名 時,python首先在該函式的命名空間中查詢,python包含了一些讓我們檢視命名空間的函式。讓我們寫乙個簡單的函式來探查一下local和glo...