While循环中的PythonWalrus运算符

我试图理解海象赋值运算符。

当条件在循环内重新分配为 False 时,经典 while 循环会中断。

x = True
while x:
    print('hello')
    x = False

为什么这不能使用 walrus 运算符?它忽略 x 的重新分配,产生无限循环。

while x := True:
    print('hello')
    x = False

回答

您似乎认为该分配在进入循环之前发生了一次,但事实并非如此。重新分配发生在检查条件之前,并且在每次迭代时发生。

x := True 无论任何其他代码如何,都将始终为真,这意味着条件将始终评估为真。


以上是While循环中的PythonWalrus运算符的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>