Python继续并打破差异

时间:2017-05-17 16:14:26

标签: python oop continue

我正在深入了解继续的目的。我知道continue回到循环的顶部,break停止执行,pass什么都不做。如果continue回到循环顶部会不会递归?在我的示例中,continue用于停止执行。

import re
value = []
items=[x for x in raw_input().split(',')]
for p in items:
    if len(p)<6 or len(p)>12:
        continue
    else:
        pass
    if not re.search("[a-z]",p):
        continue
    elif not re.search("[0-9]",p):
        continue
    elif not re.search("[A-Z]",p):
        continue
    elif not re.search("[$#@]",p):
        continue
    elif re.search("\s",p):
        continue
    else:
        pass
    value.append(p)
print ",".join(value)

1 个答案:

答案 0 :(得分:2)

continue只是意味着“这次不执行任何剩余的循环体”。

下一次迭代将与您没有continue d完全相同 - 也就是说,您的循环变量p将像往常一样绑定到items的下一个元素

我认为通过“递归”表示“不会终止”,因为您怀疑p将绑定到items相同元素因为它是最后一次。这通常不是“递归” - 递归函数通常被理解为显式调用自身,通常使用基本情况来防止无限递归。