为了账号安全,请及时绑定邮箱和手机立即绑定

何时在Python中使用“ while”或“ for”

何时在Python中使用“ while”或“ for”

达令说 2019-11-27 12:49:46
我在何时应该在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()


查看完整回答
反对 回复 2019-11-27
?
万千封印

TA贡献1891条经验 获得超3个赞

这for是迭代列表的更多Python方式,因为它更简单易读。


例如:


for i in range(11):

    print i

比这更简单易读:


i = 0

while i <= 10:

    print i

    i = i + 1


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 718 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信