在写代码的时候,经常会遇到一种情况:某些数据需要被过滤掉,但又不想中断整个循环。这时候,continue 就派上用场了。它不像 break 那样直接跳出循环,而是选择“跳过当前这一轮”,继续下一次循环。
continue 的基本用法
比如你正在处理一批用户登录记录,想跳过所有测试账号的日志,只分析真实用户的操作。可以用 continue 快速实现:
for user in user_list:
if user.startswith('test_'):
continue
print(f'正在分析用户: {user}')
这段代码中,一旦发现用户名以 test_ 开头,就立即执行 continue,后面的 print 不会执行,但循环本身继续运行。
结合端口映射的实际场景
假设你在配置路由器的端口映射规则,需要批量处理一组服务端口,但数据库服务(比如 3306)出于安全考虑不对外暴露,就可以在脚本里跳过它:
ports = [80, 443, 3306, 8080, 22]
for port in ports:
if port == 3306:
continue
print(f'正在映射端口 {port} 到公网')
输出结果会跳过 3306,其他端口照常处理。这样既保证了自动化流程,又避免了敏感端口被误配。
在嵌套循环中的表现
要注意的是,continue 只影响它所在的那一层循环。比如双重循环遍历服务器和端口时:
servers = ['web1', 'db1', 'web2']
ports = [80, 443, 3306]
for server in servers:
for port in ports:
if 'db' in server and port != 3306:
continue
print(f'{server} 开放端口 {port}')
这里的意思是:如果是数据库服务器,只允许 3306 端口,其他端口直接跳过。注意 continue 只跳过内层循环的当前 port,不会影响外层的 server 遍历。
合理使用 continue,能让循环逻辑更清晰,减少嵌套判断,提升代码可读性。特别是在处理配置文件、日志过滤或批量任务时,是个很顺手的工具。