Python3 循环语句代码实例
·
循环语句基础
Python 中的循环语句主要包括 for 循环和 while 循环,用于重复执行代码块。循环的声明和使用可以通过以下方式实现:
# for 循环遍历序列
for i in range(5):
print(i)
# while 循环基于条件
count = 0
while count < 5:
print(count)
count += 1
循环输入与输出
使用内置函数可以方便地进行循环中的输入和输出操作:
def main():
# 循环读取用户输入直到输入 quit
while True:
name = input("Enter your name (or 'quit' to exit): ")
if name.lower() == 'quit':
break
print(f"Hello, {name}!")
if __name__ == "__main__":
main()
常用循环控制语句
Python 提供了丰富的循环控制关键字:
def main():
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 遍历列表
for num in numbers:
# 跳过偶数
if num % 2 == 0:
continue
print(f"Odd number: {num}")
# 找到第一个大于 5 的奇数后退出
if num > 5:
break
# 循环正常结束时执行 else
for i in range(3):
print(f"Iteration {i}")
else:
print("Loop completed normally")
if __name__ == "__main__":
main()
循环与迭代器
循环与迭代器密切相关,Python 的 for 循环本质上是对迭代器的遍历:
def main():
text = "Iterator"
# 字符串本身就是可迭代对象
for char in text:
print(char, end=' ')
print()
# 使用 iter() 显式创建迭代器
iterator = iter(text)
while True:
try:
char = next(iterator)
print(char, end=' ')
except StopIteration:
break
print()
if __name__ == "__main__":
main()
嵌套循环
处理多维数据时可以使用嵌套循环:
def main():
# 二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 嵌套 for 循环遍历二维列表
for row in matrix:
for element in row:
print(element, end='\t')
print()
# 使用列表推导式(更 Pythonic 的方式)
flat = [element for row in matrix for element in row]
print(f"Flattened: {flat}")
if __name__ == "__main__":
main()
循环操作示例
字符串遍历和分割是常见操作,可以使用循环配合内置方法实现:
def main():
text = "apple,orange,banana"
# 使用 for 循环手动分割字符串
current = ""
for char in text:
if char == ',':
print(current)
current = ""
else:
current += char
print(current) # 输出最后一个部分
# 更简洁的方式:使用 split()
print("--- Using split() ---")
for fruit in text.split(','):
print(fruit)
if __name__ == "__main__":
main()
安全循环处理
为防止无限循环和资源耗尽,推荐使用安全的循环写法:
def main():
# 设置最大迭代次数防止无限循环
max_attempts = 10
attempts = 0
while attempts < max_attempts:
user_input = input("Enter a number: ")
if user_input.isdigit():
print(f"You entered: {int(user_input)}")
break
attempts += 1
print(f"Invalid input. {max_attempts - attempts} attempts remaining.")
else:
# 循环正常结束(未触发 break)
print("Maximum attempts reached.")
# 使用 enumerate 获取索引和值,避免手动维护计数器
items = ["apple", "banana", "cherry"]
for index, item in enumerate(items):
print(f"{index}: {item}")
if __name__ == "__main__":
main()
自定义循环工具
实现自定义的循环辅助函数可以加深对迭代的理解:
def my_enumerate(iterable, start=0):
"""自定义枚举函数"""
index = start
for item in iterable:
yield index, item
index += 1
def my_range(start, stop=None, step=1):
"""自定义范围生成器"""
if stop is None:
stop = start
start = 0
current = start
while (step > 0 and current < stop) or (step < 0 and current > stop):
yield current
current += step
def main():
# 测试自定义 enumerate
colors = ["red", "green", "blue"]
for idx, color in my_enumerate(colors, 1):
print(f"{idx}. {color}")
# 测试自定义 range
print("Custom range:", list(my_range(1, 10, 2)))
if __name__ == "__main__":
main()
性能注意事项
循环操作在 Python 中需要特别注意性能和效率问题:
- 避免在循环中进行重复计算,将不变量提取到循环外
- 优先使用内置函数和生成器表达式处理大数据集
- 考虑使用
map()、filter()或列表推导式替代简单循环 - 对于数值计算,考虑使用 NumPy 等库进行向量化操作
以上代码示例涵盖了 Python3 循环语句的主要概念和操作,从基础用法到高级技巧,为开发者提供了全面的参考。
更多推荐

所有评论(0)