gpt4 book ai didi

python : How does `while` loop work in python when reading lines?

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:43 25 4
gpt4 key购买 nike

读取行时 while 循环如何在 python 中工作?

state=True #can be set to {anyInterger,True,False}
while state:
#do a task
#if task done change state to exit loop

因此根据state变量执行while循环,type(state)可以是bool,int

但是使用 while 从文件中读取行,如下所述

f=open('test.txt','r')
line_data=[]
line=f.readline()
while line:
line_data.append(line)
line=f.readline()
f.close()

最后读完所有行后 line='' 但是 type('')str

那么 while 循环是如何终止的呢?

我知道使用 withfor 可以做得更好,不为此目的使用 while 循环的原因会有所帮助

最佳答案

Python 中有一些隐式 bool 值转换。
1) bool(0) 计算结果为 False,任何其他整数计算结果为 True
2) bool(''), bool([]), bool({}) 也计算为 False。这对于测试容器中是否有任何项目(非空字符串、列表、字典等评估为 True)很有用

所以在你的例子中,readline 读取了空字符串,它被隐式地转换为 bool 并评估为 False,因此循环已经终止

关于 python : How does `while` loop work in python when reading lines?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37861347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com