[英]How to permanently change a global variable from a def
我在更新和調用全局變量的值時遇到問題。
我曾嘗試在互聯網上查找類似的帖子和文章。 還本地化一個似乎運行正常的小測試......但是在我的整體代碼的這一部分中它不起作用。
WEEK_ONE_REFINED = ""
def change_it():
global WEEK_ONE_REFINED
WEEK_ONE_REFINED = week_one_refined.strftime("%d/%m/%Y")
def print_it():
print (WEEK_ONE_REFINED)
我有一個名為 WEEK_ONE_REFINED 的全局變量。 我按下一個按鈕並調用change_it。 然后我按下另一個按鈕並調用 print_it 但它打印的只是原始的 "" 值。 不是更新的值。
為什么它需要是全球性的? 這樣會更好:
def change_it(week_str):
return week_str.strftime("%d/%m/%Y")
def print_it(week):
print (week)
week = change_it("1/2/2019")
print_it(week)
你的代碼是正確的。 如果您正在打印原始空值,則會發生以下兩種情況之一
change_it
之前不叫print_it()
可能是按鈕不叫)strftime
表達式提供一個空字符串(不太可能)乍一看,您的代碼似乎是正確的。 我會說你的問題是week_one_refined.strftime("%d/%m/%Y")
拋出異常,並且變量永遠不會更新。
抱歉各位,感謝你們的幫助。
該功能鏈接到一個復選框,並且只有在單擊該復選框時才會起作用。 一旦我開始單擊復選框,變量就會更新。
我現在已經修復了它,以便無論復選框是否被激活,全局變量都會更新。
感謝你的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.