一、global關鍵字
1、全局變數的定義與使用
x = 10 # 全局變數x def test(): print(x) # 函數內部訪問全局變數 test() # 輸出10
2、修改全局變數
x = 10 # 全局變數x def test(): global x # 使用global聲明x為全局變數 x = 20 # 修改全局變數x print(x) test() # 輸出20 print(x) # 輸出20
3、注意事項
在函數內部使用global聲明變數為全局變數後,不能直接對變數進行賦值,因為會被視為新的局部變數。必須使用賦值語句才能對全局變數進行修改。
二、nonlocal關鍵字
1、外層函數變數的使用
def outer(): x = 10 # 外層函數變數x def inner(): print(x) # 內層函數訪問外層函數變數 inner() outer() # 輸出10
2、修改外層函數變數
def outer(): x = 10 # 外層函數變數x def inner(): nonlocal x # 使用nonlocal聲明上一級變數 x = 20 # 修改外層函數變數x print(x) inner() print(x) outer() # 輸出20和20
3、注意事項
使用nonlocal聲明變數為上一級函數中的變數後,不能對該變數進行賦值,因為會被視為新的局部變數。必須使用賦值語句才能對外層函數變數進行修改。
三、lambda關鍵字
1、lambda函數的簡單定義
# 定義一個加法函數 def add(x, y): return x + y # 使用lambda定義同樣的加法函數 add_lambda = lambda x, y: x + y print(add(1, 2)) # 輸出3 print(add_lambda(1, 2)) # 輸出3
2、lambda函數的應用
# 使用lambda函數作為參數排序 a = [(1, 2), (4, 1), (3, 4)] a.sort(key=lambda x: x[1]) # 根據元組中的第二個元素進行排序 print(a) # 輸出[(4, 1), (1, 2), (3, 4)]
3、注意事項
lambda函數適用於簡單的函數定義,如果需要較為複雜的函數,仍需使用def語句進行定義。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/298225.html