gpt4 book ai didi

python - for循环中变量的访问范围

转载 作者:太空狗 更新时间:2023-10-29 20:54:50 24 4
gpt4 key购买 nike

在我在这里发布这个问题之前,我已经搜索过 SO,希望这不是重复的。

def print_me():
a_list = range(1, 10)
for idx, aa in enumerate(a_list):
pass
print(idx)

if __name__ == '__main__' : print_me()

输出如下:

8

我来自 C++ 世界,无法弄清楚为什么 idx 仍然在范围内代码在 for 循环之外?

谢谢

最佳答案

for 循环不创建任何作用域。这就是原因。

在此特定代码中,idxprint_me 函数的局部变量。

来自 the docs :

以下是 block :

  • 一个模块
  • 一个函数体
  • 类定义

更新

生成器表达式也有自己的作用域。

As of Python 3.0列表理解也有自己的范围。

关于python - for循环中变量的访问范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7715297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com