神奇的Python

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Python 中的循环是一种控制结构,它允许你重复执行一段代码块,直到满足特定的条件。Python 提供了两种基本的循环结构:for 循环和 while 循环。


一、for循环是什么?

在Python中,for循环是一种常用的迭代结构,它允许你遍历任何序列(如列表、元组、字符串)或其他可迭代对象(如字典的键、集合、文件对象等),并对序列中的每个元素执行一段代码。

使用步骤

1.for循环语法

代码如下(示例):

for 变量 in 序列:  
    # 循环体  
    # 这里编写需要针对序列中每个元素执行的代码

2.实例

假设我们有一个列表,我们想打印出列表中的每个元素代码如下(示例):

fruits = ["apple", "banana", "cherry"]  
for fruit in fruits:  
    print(fruit)

for循环也可以用来遍历字符串中的每个字符代码如下(示例):

greeting = "hello"  
for char in greeting:  
    print(char)

for循环也可以用来遍历字符串中的每个字符代码如下(示例):

greeting = "hello"  
for char in greeting:  
    print(char)

使用range()函数,for循环可以遍历一个指定的数字范围。range()函数生成一个数字序列,通常用于在for循环中迭代代码如下(示例):

for i in range(5):  # 生成0到4的数字序列  
    print(i)  
  
# 也可以指定起始值和结束值  
for i in range(1, 6):  # 生成1到5的数字序列  
    print(i)  
  
# 还可以指定步长  
for i in range(0, 10, 2):  # 生成0到8(包括0但不包括10)的偶数序列  
    print(i)

使用range()函数,for循环可以遍历一个指定的数字范围。range()函数生成一个数字序列,通常用于在for循环中迭代代码如下(示例):

for key, value in person.items():  
    print(key, value)

遍历键值对(使用.items()方法)代码如下(示例):

person = {"name": "John", "age": 30, "city": "New York"}  
for key in person:  
    print(key)

二、Iterable可迭代类型是什么?

在Python中,Iterable(可迭代类型)是一个非常重要的概念。简单来说,一个对象如果可以被遍历(即可以一次返回它的一个成员),那么这个对象就是可迭代的。这意味着你可以使用for循环来遍历它,或者使用iter()函数来获取它的迭代器。
Python中的大多数内置容器类型都是可迭代的,包括:

  1. 列表(list)
  2. 元组(tuple)
  3. 字符串(str)
  4. 字典(dict)的键(通过.keys()方法)、值(通过.values()方法)或键值对(通过.items()方法)
  5. 集合(set)
  6. 布尔类型(bool),尽管它们只有两个值(True和False),但技术上它们也是可迭代的,不过在实际编程中很少这样做
  7. 生成器(generator),这是一种特殊的迭代器,它实现了迭代器协议,但每次迭代时按需生成值
  8. 以及其他实现了__iter__()方法的自定义对象

使用步骤

示例

代码如下(示例):

class Count:  
    """一个简单的计数器,实现可迭代协议"""  
    def __init__(self, low, high):  
        self.current = low  
        self.high = high  
  
    def __iter__(self):  
        """返回迭代器对象本身,这里直接返回self"""  
        return self  
  
    def __next__(self):  
        """返回下一个值,并在到达上限时停止"""  
        if self.current > self.high:  
            raise StopIteration  
        else:  
            self.current += 1  
            return self.current - 1  
  
# 使用  
for i in Count(3, 8):  
    print(i)

三、break与continue是什么?

break 和 continue 是两种在循环结构(如 for 循环、while 循环、do-while 循环)中常用的控制流语句,它们用于改变循环的正常执行流程。尽管它们的作用有些相似,但在用途和效果上有所不同。

使用步骤

1.Python中break的作用

break 语句用于立即退出它所在的循环(无论是 for、while 还是 do-while 循环),并继续执行循环之后的代码(如果有的话)。break 通常用于在满足特定条件时提前终止循环。

代码如下(示例):

for (int i = 0; i < 10; i++) {  
    if (i == 5) {  
        break; // 当 i 等于 5 时,退出循环  
    }  
    System.out.println(i);  
}  
// 输出:0 1 2 3 4

2.Python中continue的作用

continue 语句用于跳过当前循环的剩余部分,并立即开始下一次循环的迭代(如果循环条件仍然为真)。continue 通常用于在满足特定条件时忽略循环的当前迭代。

代码如下(示例):

for (int i = 0; i < 10; i++) {  
    if (i % 2 == 0) {  
        continue; // 如果 i 是偶数,则跳过当前迭代  
    }  
    System.out.println(i);  
}  
// 输出:1 3 5 7 9

三、for与else与循环嵌套是什么?

在Python中,for循环可以嵌套使用,即一个for循环内部可以包含另一个或多个for循环。此外,Python还允许在for循环后使用else语句,但这里的else语句与传统意义上的条件判断中的else有所不同。在for循环中使用else时,else块会在循环正常结束时执行,即循环不是因为break语句而提前退出的。

使用步骤

1.嵌套循环

嵌套循环允许你遍历多个数据结构,如列表的列表(二维列表)、字典的列表等。下面是一个简单的嵌套循环示例,用于遍历一个二维列表(列表的列表):

代码如下(示例):

# 假设我们有一个二维列表  
matrix = [  
    [1, 2, 3],  
    [4, 5, 6],  
    [7, 8, 9]  
]  
  
# 使用嵌套循环遍历这个二维列表  
for row in matrix:  
    for item in row:  
        print(item, end=' ')  
    print()  # 换行,以便于区分不同的行  
  
# 输出:  
# 1 2 3   
# 4 5 6   
# 7 8 9

2.for循环与else

在for循环中使用else时,如果循环正常结束(即没有遇到break语句),则会执行else块中的代码。这可以用于检查循环是否因为某些条件而提前退出,或者仅仅是为了在循环正常完成后执行一些清理工作。

代码如下(示例):

# 查找列表中是否包含数字5  
numbers = [1, 2, 3, 4, 5, 6]  
  
found = False  
for number in numbers:  
    if number == 5:  
        print("找到了数字5")  
        found = True  
        break  # 找到了,提前退出循环  
else:  
    if not found:  
        print("没有找到数字5")  
  
# 输出:找到了数字5  
# 注意,如果没有找到数字5,并且没有使用break语句,else块会执行

总结

Iterable(可迭代类型)是Python中一个非常重要的概念,它允许你使用for循环来遍历对象中的元素。几乎所有内置的容器类型都是可迭代的,同时你也可以通过实现__iter__()方法来创建自定义的可迭代对象。

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值