【发布时间】:2018-10-20 07:34:10
【问题描述】:
当我编写任何验证函数时,我会编写如下所示的代码
方法 1。
def func():
for section in sections:
if section.has_timetable():
return True
return False
但最近我在想退出这样的功能是一种好习惯吗?这种做法会不会有什么后果,如果是的话应该按照方法2吗?
方法 2
def func():
has_timetable = False
for section in sections:
if section.has_timetable():
has_timetable = True
break
return has_timetable
【问题讨论】:
-
是的,早点返回通常是首选,而不是在不需要时完成对整个集合的迭代,除非有其他事情需要进行完整的迭代(找到最小/最大值等.)
-
抱歉我忘了加break,但是可以通过return来打破循环吗?
-
哦,好吧,如果您要跳出循环并立即返回,请返回!
-
感谢您的回答
-
也可以:
any(s.has_timetable() for s in sections)
标签: python loops for-loop return