许多 python 程序员都知道 else 关键字可以与 if 语句一起使用,但是您知道它也可以与 for 和 while 循环一起使用吗?
这个鲜为人知的功能可以在某些情况下简化您的代码。
它是如何运作的
在 python 中,您可以将 else 子句附加到 for 或 while 循环。
else 块在循环正常完成后执行,这意味着如果循环没有被break语句终止,它就会运行。
立即学习“Python免费学习笔记(深入)”;
这对于仅当循环未遇到提前退出条件时才需要执行某些操作的情况特别有用。
这里有一个例子来说明:
# Search for a prime number in a range
def find_prime(n):
for i in range(2, n):
if n % i == 0:
print(f"{n} is not a prime number.")
break
else:
print(f"{n} is a prime number.")
find_prime(29) # Output: 29 is a prime number.
find_prime(30) # Output: 30 is not a prime number.
# Output:
# 29 is a prime number.
# 30 is not a prime number.
在此示例中,else 块仅在 for 循环完成且未遇到中断时运行。
如果找到一个因子,它将跳出循环并跳过 else 块。
为什么它很酷
循环上的 else 子句可以帮助您的代码更加简洁,并且无需额外的标志或检查来确定循环是否成功完成。
这是一个巧妙的功能,可以为循环结构添加表达能力,通常会产生更清晰、更易读的代码。