首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python global 關鍵字用法詳解:全域變數宣告、修改與多變數聲明

     編輯:更多程式設計知識

Python 函數內預設建立區域變數,若需修改全域變數必須使用 global 關鍵字聲明。本文說明語法、多變數聲明、常見錯誤與最佳實踐。

基本語法


x = 50

def func():
    global x
    print 'x is', x
    x = 2
    print 'Change local x to', x

func()
print 'Global x now:', x
# 輸出:
# x is 50
# Change local x to 2
# Global x now: 2

多變數聲明


global x, y, z
# 或
global x
global y
global z

常見錯誤:未聲明直接賦值


x = 10
def func():
    x = 20  # 建立新區域變數 x,全域 x 不變
func()
print x  # 10

常見錯誤:聲明前使用


def func():
    print x  # UnboundLocalError!
    global x
    x = 20

global 必須在函數開頭聲明,在此之前不可引用該變數。

最佳實踐建議

  • 盡量避免全域狀態:傳遞參數、回傳值、類別封裝
  • 常數使用大寫命名:MAX_RETRY = 3(慣例不可變)
  • 配置物件模式:class Config: DEBUG = True
  • 單例/模組級快取:模組層級變數 + 函數存取
  • 必須用 global 時:置於函數頂部,加註釋說明原因

global vs nonlocal

關鍵字作用域Python 版本
global模組全域所有版本
nonlocal外層巢狀函數Python 3+
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved