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

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