Python学习篇:流程控制详细介绍(四)

目录

1 前言

2 条件判断

2.1 基本语法

2.2 使用示例

2.3 注意事项

3 循环

3.1 for循环

3.2 while循环

3.3 循环控制语句 

4 异常处理 

4.1 基本语法

4.2 使用示例 

4.3 注意事项 


1 前言

Python中的流程控制是编程中非常重要的一部分,它允许你根据条件、循环或其他因素来决定程序的执行流程。本文对Python中流程控制进行详细介绍和例子说明。

2 条件判断

在Python中,条件判断(也称为条件语句)是编程中非常基础且重要的一部分。它允许程序根据特定的条件来执行不同的代码块。Python使用if、elif(可选)和else(可选)关键字来实现条件判断。

2.1 基本语法

if 条件1:
    # 当条件1为真时执行的代码块
elif 条件2:
    # 当条件1为假且条件2为真时执行的代码块(可选)
elif 条件3:
    # 更多的条件判断(可选)
    # ...
else:
    # 当所有条件都为假时执行的代码块(可选)
  • if:如果条件1为真(True),则执行其后的代码块。
  • elif:这是else if的缩写,用于检查额外的条件。elif语句是可选的,并且可以有多个。但是,它们必须跟在if或另一个elif语句之后。只有当if语句和之前的所有elif语句的条件都为假时,才会检查elif语句的条件。
  • else:当if和所有elif语句的条件都为假时,执行else语句后的代码块。else语句也是可选的。

2.2 使用示例

示例一:简单的条件判断

x = 10

if x > 0:
    print("x 是正数")

示例2:使用elif和else

x = 0

if x > 0:
    print("x 是正数")
elif x < 0:
    print("x 是负数")
else:
    print("x 是零")

示例3:多个elif 

score = 85

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("不及格")

2.3 注意事项

  • 条件可以是任何返回布尔值(True 或 False)的表达式。
  • 缩进在Python中非常重要,它定义了代码块的范围。在条件语句中,每个if、elif、else后面的代码块都需要适当的缩进。
  • elif和else语句是可选的,但if语句是必需的。
  • 条件判断中的条件可以包含复杂的逻辑和操作符,如and、or、not等。

3 循环

在Python中,循环是一种控制流程的结构,它允许你重复执行一段代码,直到满足某个条件为止。Python提供了两种主要的循环结构:for循环和while循环。

3.1 for循环

for循环用于遍历一个序列(如列表、元组、字符串)或其他可迭代对象(如字典、集合或文件)的元素。在每次循环中,都会执行指定的代码块,直到序列或可迭代对象的所有元素都被遍历完毕。

语法

for 变量名 in 可迭代对象:
    # 循环体,即需要重复执行的代码块

示例 

# 遍历列表
my_list = [1, 2, 3, 4, 5]
for i in my_list:
    print(i)

# 遍历字符串
my_string = "hello"
for char in my_string:
    print(char)

# 遍历字典的键(或值)
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key in my_dict:
    print(key, my_dict[key])  # 也可以同时遍历键和值

# 使用enumerate同时遍历索引和元素
for index, value in enumerate(my_list):
    print(index, value)

3.2 while循环

while循环会在指定的条件为真时重复执行代码块。只要条件为真,循环就会继续执行;一旦条件变为假,循环就会停止。

语法

while 条件:
    # 循环体,即需要重复执行的代码块
    # 通常会有一个改变条件的语句,以便循环最终能够停止

示例

# 简单的while循环
count = 0
while count < 5:
    print(count)
    count += 1  # 增加计数器,以便循环最终能够停止

# 使用while循环进行无限循环(通常与break结合使用)
while True:
    user_input = input("请输入一个数字(输入'q'退出):")
    if user_input == 'q':
        break
    # 处理其他输入...

# 使用while循环进行数值迭代(通常不推荐,因为for循环更简洁)
i = 0
while i < 5:
    print(i)
    i += 1

3.3 循环控制语句 

在循环中,你还可以使用两个控制语句来改变循环的执行流程:break和continue。

  • break:用于立即终止当前循环,不再执行循环体中剩余的代码,并跳出循环。
  • continue:用于跳过当前循环的剩余代码,直接进入下一次循环。

示例

# 使用break终止循环
for i in range(10):
    if i == 5:
        break
    print(i)  # 只会打印0到4

# 使用continue跳过循环的某次迭代
for i in range(10):
    if i % 2 == 0:  # 如果是偶数
        continue  # 跳过这次循环的剩余部分
    print(i)  # 只会打印奇数

4 异常处理 

Python的异常处理是一种强大的机制,用于在程序执行过程中捕获和处理错误。当Python代码在运行时遇到问题时,它会引发一个异常。如果没有适当的异常处理,程序通常会终止并显示一个错误信息。但是,通过使用try、except、else和finally块,程序员可以定义在发生异常时应该执行的代码。

4.1 基本语法

try:
    # 尝试执行的代码块
    pass  # 替换为你可能会引发异常的代码
except ExceptionType1:
    # 当捕获到ExceptionType1异常时执行的代码块
    pass  # 替换为你处理该异常的代码
except ExceptionType2:
    # 当捕获到ExceptionType2异常时执行的代码块
    pass  # 替换为你处理该异常的代码
else:
    # 如果没有异常发生,会执行这个代码块
    pass  # 替换为你想要执行的代码(可选)
finally:
    # 无论是否发生异常,都会执行这个代码块
    pass  # 替换为你想要执行的代码(例如关闭文件、释放资源等)

4.2 使用示例 

示例一:基本的异常处理

try:
    result = 10 / 0  # 这会引发一个ZeroDivisionError异常
except ZeroDivisionError:
    print("除数不能为零!")

# 输出: 除数不能为零!

示例二:捕获多个异常

try:
    # 尝试打开文件并执行一些操作
    with open('non_existent_file.txt', 'r') as f:
        print(f.read())
except FileNotFoundError:
    print("文件不存在!")
except IOError:
    print("发生I/O错误!")

# 假设文件不存在,输出: 文件不存在!

示例三:使用else和finally

try:
    # 尝试执行可能会引发异常的代码
    result = 10 / 2
except ZeroDivisionError:
    print("除数不能为零!")
else:
    # 如果没有异常发生,执行这里的代码
    print("计算结果为:", result)
finally:
    # 无论是否发生异常,都会执行这里的代码
    print("这是finally块,无论是否发生异常都会执行。")

# 输出:
# 计算结果为: 5.0
# 这是finally块,无论是否发生异常都会执行。

4.3 注意事项 

  • 尽量避免使用空的except块(即except:),因为它会捕获所有的异常,这可能会隐藏一些你不想忽略的错误。
  • 在可能的情况下,尽量指定要捕获的异常类型,以便更精确地处理异常。
  • 使用finally块来执行清理操作(如关闭文件、释放资源等),以确保无论是否发生异常,这些操作都会被执行。

以上即是本章Python流程控制相关的一些基础的知识,在开始编写Python前务必掌握,如有遗留欢迎补充,抱拳 !!!

ps:博主也是个Python萌新,后续会持续更新Python学习内容,如感兴趣跟着博主从零开始学习关注点一下吧~

有什么问题都可以评论区留言,看见都会回复的!!!

如果你觉得本篇文章对你有所帮助的,多多支持!!!

点赞收藏评论,抱拳了!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值