python程序的循环结构(专题)

前言

python程序的循环结构有两种,分别是遍历循环和无限循环,这次主要讲解内容之一。除此之外还有循环控制保留字和循环的高级用法介绍。
在计算机编程的世界里,循环结构是一种强大的工具,而Python语言中的循环机制更是让程序员事半功倍。无论是处理大规模数据、实现重复任务,还是简化复杂的算法,Python的循环结构都展现了其简洁而灵活的特性。本篇技术博客将深入探讨Python程序中的循环结构,为你揭示其奥秘,助你更好地掌握这一编程利器。

从最基础的for循环到强大的while循环,我们将逐一剖析它们的用法、优势和适用场景。通过深入了解循环结构,你将能够提高代码的效率、简化逻辑、甚至解决一些看似复杂的编程难题。不管你是初学者还是经验丰富的开发者,本文都将为你提供有价值的见解,让你在Python的循环之旅中畅行无阻。

准备好迎接循环结构的魔力了吗?让我们一起探索Python中循环的无穷可能性吧!

一、遍历循环。

遍历某个结构形成的循环运行方式
for循环用于遍历序列(如列表、元组、字符串等)中的每个元素,并执行特定的代码块。

for <循环变量> in <遍历结构> :
<语句块>




  • 由保留字for和in组成,完整遍历所有元素后结束
  • 每次循环,所获得元素放入循环变量,并执行一次语句块

遍历循环的应用

(1)计数循环(N次)

for i in range(N) :
<语句块>

  • 遍历由range()函数产生的数字序列,产生循环
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(5):
print("Hello:"
,i)
Hello: 0
Hello: 1
Hello: 2
Hello: 3
Hello: 4

(2)计数循环(特定次)

遍历由range()函数产生的数字序列,产生循环
for i in range(M,N,K) :
<语句块>
应用:

>>> for i in range(1,6):
print(i)
1
2
3
4
5
>>> for i in range(1,6,2):
print("Hello:"
,i)
Hello: 1
Hello: 3
Hello: 5

(3)字符串遍历循环

s是字符串,遍历字符串每个字符,产生循环
for c in s :
<语句块>
应用:

>>> for c in "Python123":
print(c, end="
,
")
P,y,t,h,o,n,1,2,3,

(4)列表遍历循环

ls是一个列表,遍历其每个元素,产生循环
for item in ls :
<语句块>
应用:

>>> for item in [123, 
"PY", 456] :
print(item, end="
,
")
123,PY,456,

(5)文件遍历循环

fi是一个文件标识符,遍历其每行,产生循环
for line in fi :
<语句块>
应用:
fi=优美胜于丑陋
明了胜于隐晦
简洁胜于复杂

>>> for line in fi :
print(line)
优美胜于丑陋
明了胜于隐晦
简洁胜于复杂

使用for循环计算列表中元素的和

numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
    sum += num
print("Sum:", sum)

2.无限循环

while循环用于在满足条件的情况下重复执行代码块。它会在每次循环迭代之前检查条件表达式是否为真,只要条件为真,循环就会继续执行。是由条件控制的循环运行方式。

  • 反复执行语句块,直到条件不满足时结束
    while <条件> :
    <语句块>

–无限循环的应用
无限循环的条件-

>>> a = 3
>>> while a > 0 :
a = a - 1
print(a)
2
1
0
>>> a = 3
>>> while a > 0 :
a = a + 1
print(a)
4
5(CTRL + C 退出执行)

示例:使用while循环计算1到5的阶乘:

number = 5
factorial = 1
while number > 1:
    factorial *= number
    number -= 1
print("Factorial of 5 is:", factorial)

3,循环控制保留字。

break 和 continue

  • break跳出并结束当前整个循环,执行循环后的语句
  • continue结束当次循环,继续执行后续次数循环
  • break和continue可以与for和while循环搭配使用
    break
>>> for c in "PYTHON" :
if c == "T" :
continue
print(c, end="")
PYHON

continue

>>> for c in "PYTHON" :
if c == "T" :
break
print(c, end="")
PY

循环控制保留字

>>> s = "PYTHON" 
>>> while s != "" :
for c in s :
print(c, end="")
s = s[:-1]
PYTHONPYTHOPYTHPYTPYP
>>> s = "PYTHON" 
>>> while s != "" :
for c in s :
if c == "T" :
break
print(c, end="")
s = s[:-1]
PYPYPYPYPYP
  • break仅跳出当前最内层循环

4,循环的高级用法

循环的扩展
循环与else

1,for <变量> in <遍历结构> :
<语句块1>
else :
<语句块2>
,2,while <条件> :
<语句块1>
else :
<语句块2>

  • 当循环没有被break语句退出时,执行else语句块
  • else语句块作为"正常"完成循环的奖励
  • 这里else的用法与异常处理中else用法相似
>>> for c in "PYTHON" :
if c == "T" :
continue
print(c, end="")
else:
print("正常退出")
PYHON正常退出
>>> for c in "PYTHON" :
if c == "T" :
break
print(c, end="")
else:
print("正常退出")
PY

enumerate函数的运用:

在Python中,enumerate函数是一项强大而灵活的工具,特别适用于循环结构。通过使用enumerate,我们能够同时获得循环中元素的值和它们的索引,从而使代码更具可读性和表达力。

为什么使用enumerate?
很多时候,在循环中需要知道当前处理的元素在序列中的位置。传统的方式是使用索引变量,但enumerate提供了更为简洁和Pythonic的解决方案。

如何使用enumerate?

fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")

这段代码中,enumerate函数同时返回索引和元素值,使得在循环中直接访问它们变得非常容易。

实际应用场景:

在迭代列表时,获取元素的同时还能知道它们在列表中的位置。
在处理字典时,获取键值对的同时知道其在字典中的位置。
在需要在循环中更新列表元素时,避免因修改索引而引发错误。

优势与建议:

提高代码的可读性:通过同时获取索引和元素值,代码更加清晰易懂。
避免手动管理索引变量:不再需要手动维护一个计数器,减少出错的可能性。
注意:在使用enumerate时,要确保循环的顺序和列表中元素的实际顺序一致。
通过灵活运用enumerate函数,你能够在循环中更加便捷地处理数据,使你的代码更加简洁而富有表达力。

迭代器与生成器的概念

在Python中,迭代器(Iterators)和生成器(Generators)是处理大规模数据集或无限序列时的重要工具。它们不仅提供了高效的性能,还能有效地减少内存消耗。让我们深入了解它们是如何与循环结构相结合的。

什么是迭代器和生成器?

迭代器: 是一个可以逐个访问元素的对象,而不需要提前将整个序列加载到内存。在Python中,迭代器可以通过实现__iter__和__next__方法的类来创建。
生成器: 是一种特殊类型的迭代器,它使用yield语句来产生值。生成器函数可以暂停执行并在需要时恢复,有效地节省了内存。

如何使用迭代器和生成器?

迭代器

class MyIterator:
    def __init__(self, data):
        self.data = data
        self.index = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.index < len(self.data):
            result = self.data[self.index]
            self.index += 1
            return result
        else:
            raise StopIteration

my_iterator = MyIterator([1, 2, 3])
for item in my_iterator:
    print(item)

生成器

def my_generator(data):
    for item in data:
        yield item

my_gen = my_generator([1, 2, 3])
for item in my_gen:
    print(item)

实际应用场景:

处理大数据集: 在不一次性加载整个数据集到内存的情况下,逐个处理元素。
生成无限序列: 通过生成器创建无限序列,如斐波那契数列。
减少内存开销: 由于只在需要时生成值,生成器能够有效减少内存消耗。
优势与建议:

高效性能: 适用于处理大规模数据集,减少对内存的要求。
代码简洁: 通过生成器,可以用更少的代码实现相同的功能。
注意事项: 在处理迭代器和生成器时,要注意异常的处理,确保循环能够正确终止。
通过理解和运用迭代器与生成器,你可以在循环结构中更加高效地处理大规模数据,提高程序的性能和可维护性。

总结

以上是Python中两种主要的循环结构。您可以根据具体需求选择适合的循环来实现所需的迭代和重复操作。记得在循环中正确处理循环变量的值,以避免出现意外结果或死循环。

程序的循环结构重点掌握遍历循环,理解循环保留字,学习循环else的高级用法。

  • for…in 遍历循环: 计数、字符串、列表、文件…
  • while无限循环
  • continue和break保留字: 退出当前循环层次
  • 循环else的高级用法: 与break有关

通过本文的介绍,我们深入研究了Python程序中循环结构的方方面面。循环不仅是解决重复性任务的得力工具,更是在编程世界中展现出巧妙设计和灵活运用的核心要素。从简单的迭代到更为复杂的条件判断,循环结构的应用在各种场景下都能发挥出色。

希望在本文的指导下,你对Python中的循环有了更为清晰的认识,并能够在实际项目中灵活运用。无论是加速数据处理、简化算法逻辑,还是提高代码效率,循环结构都将成为你编程路上的得力助手。

在编写代码的旅途中,不断学习和掌握新的技术工具是不可或缺的一部分。感谢你的阅读,希望这篇博客能够激发你对Python循环结构的兴趣,并在你的编程探险中发挥出色。愿你的代码循环得更高、更远!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老虎也淘气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值