关于while循环的一般学习问题

时间:2018-09-12 04:25:44

标签: python while-loop

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

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

1 个答案:

答案 0 :(得分:3)

while循环不会创建新的作用域。作用域仅通过函数和类定义来建立。 while循环不是函数定义。

由于spam = 0spam = spam + 1语句之间没有函数定义,因此它们在同一范围内。