我在何时应该在Python中使用while循环或for循环时发现问题。似乎人们更喜欢使用for循环(更少的代码行?)。我是否应该使用一种或另一种特定情况?这是个人喜好吗?到目前为止,我阅读的代码使我认为它们之间存在很大差异。
3 回答
慕仙森
TA贡献1827条经验 获得超8个赞
while在中断条件在逻辑上不依赖于任何种类的序列的情况下很有用。例如,考虑不可预测的交互:
while user_is_sleeping():
wait()
当然,您可以编写一个适当的迭代器来封装该操作,并使其通过以下方式可访问,for但是这样做如何提高可读性?¹
在Python的所有其他情况下,请使用for(或封装循环的适当的高阶函数)。
¹假设user_is_sleeping函数返回Falsefalse时,示例代码可以重写为以下for循环:
for _ in iter(user_is_sleeping, False):
wait()
万千封印
TA贡献1891条经验 获得超3个赞
这for是迭代列表的更多Python方式,因为它更简单易读。
例如:
for i in range(11):
print i
比这更简单易读:
i = 0
while i <= 10:
print i
i = i + 1
添加回答
举报
0/150
提交
取消