[英]How to change value of global variable in a function?
我從互聯網上獲得了我的項目的代碼,並且有一個帶有參數的函數,我需要更改全局變量值
這是一個flask請求json應用程序,我使用ifttt將json發送到這個項目。 我試圖通過此代碼進行更改,但它不會更改,X 始終為 1
X=1
@app.route('/',methods=['POST'])
def index():
req = request.get_json(silent=True, force=True)
val = processRequest(req)
#print(val)
r = make_response(json.dumps(val))
r.headers['Content-Type'] = 'application/json'
return r
def processRequest(req):
device = req['device']
state = json.loads(req['state'])
#print(state)
if (device=='bedlamp'):
global()['X']=int(30)
當ifttt發送設備床燈時,我想要它,全局變量的值變成30,有人可以幫我嗎?
要在函數內更改名為 X 的全局變量,您必須執行以下操作:
1) 將變量帶入函數作用域
global X
2)改變它的價值
X = 30
所以:
def abc():
global x
x = 30
您需要使用global
關鍵字,如下所示:
def processRequest(req):
device = req['device']
state = json.loads(req['state'])
if (device=='bedlamp'):
global X
X = 30
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.