前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python程序的循环结构(专题)

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

作者头像
老虎也淘气
发布2024-01-30 13:58:51
1720
发布2024-01-30 13:58:51
举报
文章被收录于专栏:Data分析

前言

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

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

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

一、遍历循环。

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

代码语言:javascript
复制
for <循环变量> in <遍历结构> :
<语句块>
  • 由保留字for和in组成,完整遍历所有元素后结束
  • 每次循环,所获得元素放入循环变量,并执行一次语句块

遍历循环的应用

(1)计数循环(N次)

代码语言:javascript
复制
for i in range(N) :
<语句块>
  • 遍历由range()函数产生的数字序列,产生循环
代码语言:javascript
复制
>>> for i in range(5):
print(i)
0
1
2
3
4
代码语言:javascript
复制
>>> 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) : <语句块> 应用:

代码语言:javascript
复制
>>> for i in range(1,6):
print(i)
1
2
3
4
5
代码语言:javascript
复制
>>> for i in range(1,6,2):
print("Hello:"
,i)
Hello: 1
Hello: 3
Hello: 5

(3)字符串遍历循环

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

代码语言:javascript
复制
>>> for c in "Python123":
print(c, end="
,
")
P,y,t,h,o,n,1,2,3,

(4)列表遍历循环

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

代码语言:javascript
复制
>>> for item in [123, 
"PY", 456] :
print(item, end="
,
")
123,PY,456,

(5)文件遍历循环

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

代码语言:javascript
复制
>>> for line in fi :
print(line)
优美胜于丑陋
明了胜于隐晦
简洁胜于复杂

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

代码语言:javascript
复制
numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
    sum += num
print("Sum:", sum)

2.无限循环

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

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

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

代码语言:javascript
复制
>>> a = 3
>>> while a > 0 :
a = a - 1
print(a)
2
1
0
代码语言:javascript
复制
>>> a = 3
>>> while a > 0 :
a = a + 1
print(a)
4
5
… (CTRL + C 退出执行)

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

代码语言:javascript
复制
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
代码语言:javascript
复制
>>> for c in "PYTHON" :
if c == "T" :
continue
print(c, end="")
PYHON

continue

代码语言:javascript
复制
>>> for c in "PYTHON" :
if c == "T" :
break
print(c, end="")
PY

循环控制保留字

代码语言:javascript
复制
>>> s = "PYTHON" 
>>> while s != "" :
for c in s :
print(c, end="")
s = s[:-1]
PYTHONPYTHOPYTHPYTPYP
代码语言:javascript
复制
>>> 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用法相似
代码语言:javascript
复制
>>> for c in "PYTHON" :
if c == "T" :
continue
print(c, end="")
else:
print("正常退出")
PYHON正常退出
代码语言:javascript
复制
>>> for c in "PYTHON" :
if c == "T" :
break
print(c, end="")
else:
print("正常退出")
PY

enumerate函数的运用:

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

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

如何使用enumerate?

代码语言:javascript
复制
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语句来产生值。生成器函数可以暂停执行并在需要时恢复,有效地节省了内存。

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

迭代器

代码语言:javascript
复制
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)

生成器

代码语言:javascript
复制
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循环结构的兴趣,并在你的编程探险中发挥出色。愿你的代码循环得更高、更远!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 准备好迎接循环结构的魔力了吗?让我们一起探索Python中循环的无穷可能性吧!
    • 一、遍历循环。
      • (1)计数循环(N次)
        • (2)计数循环(特定次)
          • (3)字符串遍历循环
            • (4)列表遍历循环
              • (5)文件遍历循环
                • 2.无限循环
                  • 3,循环控制保留字。
                    • 4,循环的高级用法
                      • enumerate函数的运用:
                        • 迭代器与生成器的概念
                        • 总结
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档