首页 > 解决方案 > 关于while循环的一般学习问题

问题描述

所以对于下面的基本代码。我认为 spam = spam + 1 会将 1 添加到局部变量 spam 中,但它似乎将其添加到全局变量(否则为什么要从全局变量 spam = 0 开始)。我认为局部变量只存在于函数中(从冒号开始。)考虑到局部/全局范围,这似乎不起作用?

  spam = 0
    while spam < 5:
        print('Hello, world.')
        spam = spam + 1

标签: pythonwhile-loop

解决方案


while循环不会创建新范围。范围仅由函数和类定义建立。while循环不是函数定义。

因此spam = 0andspam = spam + 1语句在同一范围内,因为它们中的任何一个都没有函数定义。


推荐阅读