說我有這個代碼:def Declare(): x = 5def Print(): print(x)Declare()Print()這將引發錯誤,因為在 Print() 函數中,未定義 x。有沒有辦法創建一個可以在任何地方使用 python 引用的靜態變量?
1 回答

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
這有效:
def declare():
global x
x = 5
def print_x():
global x
print(x)
declare()
print_x()
幾點說明:
通常,全局變量不是一個好的解決方案,您可能應該考慮在函數之間傳遞數據的更好方法;
不要大寫你的函數名(或在函數和變量名中使用大寫),Python 中的大寫表示類,而不是函數;
不要定義“遮蔽”標準 Python 關鍵字和庫函數的東西,除非你真的必須(注意我print改為print_x;
這在沒有global xin的情況下也可以工作print_x,因為該函數在運行時可以訪問全局范圍,因此將其放入是一個偏好問題。global僅當您想在全局范圍內定義和修改變量時才需要。
添加回答
舉報
0/150
提交
取消