Python 函式作用域

2021-08-20 03:38:47 字數 667 閱讀 8572

python中變數作用域分4種情況:

x = max(1, 6)  # max為系統變數,它的作用域為python的所有模組

y = 1

# y為全域性變數,它的作用域為當前模組

defouter

(): i = 3

# i的作用域為當前函式,包括巢狀函式

definner

(): count = 2

# count為區域性變數,作用域只在當前函式有效

函式中修改不了全域性作用域的變數

y = 10

deffunc

(): y = 5

print('y1 =', y)

func()

print('y2 =', y)

輸出:y1 = 5

y2 = 10

如需修改,加global關鍵字,宣告變數為全域性變數

y = 10

deffunc

():global y

y = 5

print('y1 =', y)

func()

print('y2 =', y)

輸出:y1 = 5

y2 = 5

python學習 函式 作用域

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

python 函式作用域小記

函式內部的變數只作用在函式內部,外部是不能呼叫的。python 中有作用域鏈,變數會由內向外找,先在自己的作用域找,自己沒有再向上級找,直到找不到報錯。若在自己的作用域找到了變數,而在賦值之前呼叫則程式會報錯 1name milton def f1 print name f1 程式會輸出 milto...

python中函式作用域

在python中,乙個函式就是乙個作用域 name xiaoming defchange name name sthu print 在change name裡的name name change name 呼叫函式 print 在外面的name name 執行結果如下 在change name裡的na...