![](/img/trans.png)
[英]Python local variable defined in an enclosing scope referenced before assignment in multiple functions
[英]python 3 local variable defined in enclosing scope referenced before assignment
我已經聲明了我需要在 class 中的 function 中訪問和修改的全局變量。這個 function 一旦被調用就會無限期地循環,並且 stream 數據會通過它。 我需要能夠在 function 中使用 xyz 變量,並在 stream_data 通過時重新定義它們的值。 我當前的代碼如下所示:
x = 10
y = 8
z = 2
class Program():
def function(stream_data):
while True:
try:
a = stream_data['data']
if (a - z) > y:
y = a - z
else:
pass
except:
continue
我收到錯誤“在賦值前引用的第 7 行的 scope 中定義的局部變量 y”。 我如何格式化此代碼,以便在首次調用 function 時使用全局變量,然后在每次后續調用時使用它重新定義的變量 y ? 謝謝我是編碼新手,真的需要幫助!
采用
global x, y, z 使用全局變量
像這樣-
x = 10
y = 8
z = 2
class Program():
def function(stream_data):
while True:
try:
global x,y,z
a = stream_data['data']
if (a - z) > y:
y = a - z
else:
pass
except:
continue
或者,您也可以在 function 中初始化 x、y、z。
讓我知道這是否有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.