全局变量已更改,但未在Python中分配

时间:2019-02-04 13:02:06

标签: python python-3.x dictionary global-variables

我编写了一个使用全局变量作为模板的函数,该函数使用该模板初始化临时变量并返回初始化值:

INTENT_TAG = "intent"
FREE_TEXT_TAG = "free_text"
USER_QUESTION_TAG = "userQuestion"
AI_RESPONSE = "aiResponse"
INTENT_TEMPLATE =  {INTENT_TAG:"",FREE_TEXT_TAG:{USER_QUESTION_TAG:"", AI_RESPONSE : ""}}



def parse_intent_to_json(intent_type, user_chatter, ai_chatter):
    print(INTENT_TEMPLATE)
    temp_intent = INTENT_TEMPLATE
    temp_intent[INTENT_TAG] = intent_type
    temp_intent[FREE_TEXT_TAG][USER_QUESTION_TAG] = user_chatter
    temp_intent[FREE_TEXT_TAG][AI_RESPONSE] = ai_chatter
    return temp_intent


parse_intent_to_json(0,0,0)
parse_intent_to_json(1,1,1)
parse_intent_to_json(2,2,2)

此函数的输出为:

{'free_text': {'aiResponse': '', 'userQuestion': ''}, 'intent': ''}
{'free_text': {'aiResponse': 0, 'userQuestion': 0}, 'intent': 0}
{'free_text': {'aiResponse': 1, 'userQuestion': 1}, 'intent': 1}

我希望是

{'free_text': {'aiResponse': '', 'userQuestion': ''}, 'intent': ''}
{'free_text': {'aiResponse': '', 'userQuestion': ''}, 'intent': ''}
{'free_text': {'aiResponse': '', 'userQuestion': ''}, 'intent': ''}

,因为未对 INTENT_TEMPLATE 变量进行任何分配。 知道为什么会这样吗?

0 个答案:

没有答案