我试图理解海象赋值运算符。
当条件在循环内重新分配为 False 时,经典 while 循环会中断。
x = True
while x:
print('hello')
x = False
为什么这不能使用 walrus 运算符?它忽略了 x 的重新分配,产生了无限循环。
while x := True:
print('hello')
x = False
最佳答案
您似乎认为该分配在进入循环之前发生了一次,但事实并非如此。重新分配发生在检查条件之前,并且发生在每次迭代中。x := True
将始终为真,无论任何其他代码如何,这意味着条件将始终评估为真。
关于While 循环中的 Python Walrus 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65514544/