Python基礎 十四 函式作用域

2021-09-11 15:34:07 字數 1617 閱讀 2706

1、變數的作用域

2、命名空間

3、python-legb

def test():

a = 10

print(a)

test() # 列印: 10

複製**

e-enclosing function locals: 外部巢狀函式的命名空間

def test():

a = 10

def inner():

print(a)

inner()

test() # 列印: 10

複製**

g-global: 全域性命名空間

a = 10

def test():

print(a)

test() # 列印: 10

複製**

b-builtin: 內建模組命名空間

print("aaa")

複製**

注意:

legb規則: 會按照 l -> e -> g -> b 的順序進行查詢

1、區域性變數

2、全域性變數

3、注意點

結構規範:

全域性變數和區域性變數重名

命名規範:

1、閉包

def test()

a = 10

def inner():

print(a)

複製**

def test()

a = 10

def inner():

a = 5

print(a)

複製**

def test()

a = 10

def inner():

nonlocal a

a = 5

print(a)

print(a)

inner()

print(a)

test()

# 列印結果:105

5複製**

2、函式中修改全部變數的值
a = 10

def test():

a = 5

print(a)

print(a)

test()

print(a)

# 列印結果:105

10複製**

a = 10

def test():

global a

a = 5

print(a)

print(a)

test()

print(a)

# 列印結果:105

5複製**

3、函式中的變數, 只有在呼叫時才去查詢
a = 10

def test():

print(a)

print(b)

b = 15

test()

# 列印結果:

1015

複製**

Python基礎(作用域 內建函式)

作用域 概念 作用域指的是變數在程式中的應用範圍 作用域按照變數的定義位置可以分為4類 l e g b local 函式內部 區域性作用域 enclosing 巢狀函式的外層函式內部 巢狀作用域 global 模組全域性 全域性作用域 built in 內建 內建作用域 123 456訪問順序 l ...

python基礎 函式,作用域介紹(八)

函式,函式也是乙個物件 物件是記憶體中用來儲存資料的區域。函式可以用來儲存一些可執行 並且在需要的時候對這些 多次呼叫。建立函式 def 函式名 塊 def fn print this is my first function 函式中的 塊不會直接執行,需要呼叫該函式fn 後才會執行。print f...

Python 函式作用域

python中變數作用域分4種情況 x max 1,6 max為系統變數,它的作用域為python的所有模組 y 1 y為全域性變數,它的作用域為當前模組 defouter i 3 i的作用域為當前函式,包括巢狀函式 definner count 2 count為區域性變數,作用域只在當前函式有效函...