python在函数内部有没有办法定义全局变量_在嵌套在Python函数中的函数内部使用全局变量...

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:58   1842   0

我想知道为什么我的代码不起作用。我预计它将返回11而不是它创建一个例外:def f():

counter = 1

def f1():

global counter

counter += 1

while True:

f1()

if counter>10:

return(counter)

f()

---------------------------------------------------------------------------

NameError Traceback (most recent call last)

in ()

----> 1 f()

in f()

9 counter += 1

10

---> 11 f1()

12

13 if counter>10:

in f1()

7 global counter

8

----> 9 counter += 1

10

11 f1()

NameError: name 'counter' is not defined

因为counter被声明为全局变量,并且因为它在f1()--inside f()的周围环境中出现和定义 - 为什么我收到此错误消息?

您的建议将不胜感激。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP