首页 > 编程语言 >Python学习篇:流程控制详细介绍(四)

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

时间:2024-07-05 16:55:33浏览次数:18  
标签:elif Python 流程 else 循环 详细 print 代码

目录

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学习内容,如感兴趣跟着博主从零开始学习关注点一下吧~

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

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

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

标签:elif,Python,流程,else,循环,详细,print,代码
From: https://blog.csdn.net/weixin_47698656/article/details/140209411

相关文章

  • 超详细Python教程——函数和模块的使用
    函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。可以用Python的程序来计算出这个值,代码如下所示。"""......
  • 一个用来画拉氏图的简单Python脚本
    技术背景关于拉氏图的更多介绍,可以参考下这篇博客,这里简单引述一部分内容:Ramachandranplot(拉氏图)是由G.N.Ramachandran等人于1963年开发的,用来描述蛋白质结构中氨基酸残基二面角\(\psi\)和\(\phi\)是否在合理区域的一种可视化方法。同时也可以反映出该蛋白质的构象是否合理......
  • Python多线程-线程池ThreadPoolExecutor
    1.线程池不是线程数量越多,程序的执行效率就越快。线程也是一个对象,是需要占用资源的,线程数量过多的话肯定会消耗过多的资源,同时线程间的上下文切换也是一笔不小的开销,所以有时候开辟过多的线程不但不会提高程序的执行效率,反而会适得其反使程序变慢,得不偿失。为了防止无尽的线程......
  • Python的垃圾回收机制
    Python的垃圾回收机制引入计数器为主,标记清除和分代回收为辅1.引入计数器环状双向链表refchain在python程序中创建的任何对象都会放在refchain链表中当python程序运行时,会根据数据类型的不同找到其对应的结构体,根据结构体中的字段来进行创建相关的数据,然后将对象添加到rec......
  • 中级开发的经验之谈-代码review流程规范
    前提1、项目已接入公司代码规范,CR过程中不纠结代码风格,借助pre-commit关联lint,避免代码中出现的debugger、console等...2、接入husky,规范commitmessagefeat:新特性fix:修复bugchore:优化,如项目结构,依赖安装更新等docs:文档变更style:样式相关修改refactor:重构......
  • Camunda流程引擎常用API接口介绍
    本文介绍Camunda7(Camunda7.19.0版本)流程引擎常用API接口,让大家了解Camunda常用的API接口有哪些(包括有:RepositoryService、RuntimeService、TaskService、HistoryService等),项目中如何调用JavaAPI和RESTAPI,尤其是查询API接口,Camunda提供了多种查询方式(包括有:JavaQueryAPI、RES......
  • python中logging
    Python的logging模块是一个用于记录应用程序日志消息的标准模块。它非常强大且灵活,允许你记录各种级别的日志消息,并配置输出格式、日志的存储位置以及处理日志的不同方式。以下是logging模块的基本介绍和用法。defcreate_logger(log_file):log_format='%(asctime)s......
  • 记一次aspnetcore发布部署流程初次使用k8s
    主题:aspnetcorewebapi项目,提交到gitlab,通过jenkins(gitlab的ci/cd)编译、发布、推送到k8s。关于gitlab、jenkins、k8s安装,都是使用docker启动服务。首先新建一个项目,为了方便浏览就把swaggerr非开发环境不展示去掉 下面就是需要准备Dockerfile和k8s.yaml文件,这里不应该用......
  • nvm的安装流程以及解决其中遇到的问题
    前序—github.com打不开怎么办打开网站http://tool.chinaz.com/dns/,在A类型中填写github.com,再点击监测按钮复制下面任意一个IP3.打开电脑文件C:\Windows\System32\drivers\etc下的host文件,用记事本打开4.在host文件的最后一行加入刚才复制的IP20.205.243.16......
  • 为什么现在的AI编程师都是用Python来编程?
    前言: 在当今AI大火的时节,涌入了一大批AI编程师,和AI训练师!显而易见他们都是用的Python语言来编程的。当然AI也给我们的工作带来了很多便利,比如AI绘画,写文章,视频剪辑,脚本创做等等方面现在都可以来用AI来协助我高效完成工作。那么我们来看看现在的AI编程师为什么都用Python语言......