簡體   English   中英

關於while循環的一般學習問題

[英]General learning question about while loops

所以對於下面的基本代碼。 我認為 spam = spam + 1 會將 1 添加到局部變量 spam,但它似乎將其添加到全局變量(否則為什么要從全局變量 spam = 0 開始)。 我認為局部變量只存在於函數中(從冒號之后開始。)考慮到局部/全局作用域,這似乎不起作用?

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

while循環不會創建新的作用域。 作用域僅由函數和類定義建立。 while循環不是函數定義。

所以spam = 0spam = spam + 1語句在同一范圍內,因為它們中的任何一個都沒有函數定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM