[英]python giving NameError with global variable
有人可以幫我理解為什么會拋出 NameError 嗎? 我正在定義和初始化“cnt”,然后將其聲明為全局的,但我收到一個 NameError,指出“cnt”未定義。
def my_func():
cnt = 0
def add_one():
global cnt
cnt = cnt + 1
print(cnt)
add_one()
print(cnt)
cnt 就在 my_func() 和 add_one() 中找不到它。 您應該在 My_func() 中將其全局化,然后 add_one() 可以訪問它
def my_func():
cnt = 0
global cnt
def add_one():
cnt = cnt + 1
print(cnt)
add_one()
print(cnt)
在python中,該變量具有三種作用域:local、nonlocal和global。
nonlocal
關鍵字。 因此,將global cnt
更改為nonlocal cnt
,代碼將起作用。
這篇文檔可以幫助你理解 python 中的變量作用域:
Python Scope 的變量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.