簡體   English   中英

如何更改函數中全局變量的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM