课时39:if语句_1

简介: 课时39介绍了Python中的If语句,作为流程控制语句的一部分。课程首先解释了程序执行的顺序性,并引出通过条件判断改变执行顺序的需求。If语句用于根据条件表达式的真假来决定是否执行特定代码块。如果条件为真(True),则执行后续缩进的代码;若为假(False),则跳过该代码块。此外,课程还强调了正确缩进的重要性,以确保代码块受If语句管理。示例展示了如何使用If语句控制多条语句的执行,进一步说明了条件判断在编程中的应用。

课时39:If语句_1

 

摘要:

1.简介

2.If 语句的应用

 

概要:首先新建一个笔记文件,并将其存储在名为“Lesson”的文件夹中,该文件夹将用于存放本章的笔记。现在,将创建名为“Lesson 03”的文件,这个文件就是的第三章的笔记。


image.png

 

01.简介


第三章标题为“流程控制语句”。首先对流程控制语句进行简要介绍,解释其基本概念和作用。之前编写了不少Python代码发现在编写Python代码时,它具有特定的执行顺序。

Print(123)

Print('Hello')

先执行第一个,再执行第二个,这意味着Python代码在执行时,是自上而下,逐行执行的首先执行第一行,然后是第二行,接着是第三行、第四行、第五行等,以此类推,直到执行完毕。如果代码仅仅能这样顺序执行,仅仅能自上向下一行一行的执行,这样的程序是无法正常运行的。这好比是一辆汽车,它虽然加速迅速、外观精美,但却没有方向盘,只能直直地向前行驶。这样的汽车显然是无法驾驶的,因为一旦驾驶,就只能直行,很可能导致严重的事故。同样如果程序只能单向执行,那也无法正常运行。因此需要改变程序的执行顺序。这就引出了流程控制语句,通过流程控制语句,可以改变程序的执行顺序它还可以使指定的程序或代码重复执行多次既然程序是自上而下执行的,可以通过使用流程控制语句来改变程序的执行顺序。例如可以设定两个语句,当满足特定条件时执行第一个语句,而当另一个条件满足时执行第二个语句。这样一来,增加了一个条件判断。或者这两个语句可以多次重复执行执行十次并输出123十次,或者执行Hello流程控制语句是编程语言的核心组成部分,它们能够改变程序的执行顺序,实现指令的重复执行。


image.png

这是一个简化版的流程图,以菱形表示决定条件,以流程线表示执行顺序。菱形代表有角,有角就意味着可能有分支。当满足条件一时,按照箭头执行。当满足特定条件时,程序会执行相应的动作。


image.png


把流程控制语句分为两大类:条件判断语句和循环语句。条件判断语句如其名,可以根据设定的条件决定程序是否执行。如果条件满足,则执行相应操作;否则,跳过该部分执行。而循环语句,则允许一段程序代码重复执行多次。在这一节中,首先讨论的是条件判断语句,它有一个特定的名称,称为If语句

 

02.If 语句的应用

 

创建一个新的文件。在这个新文件中创建一个新的Code,并保存它为01_条件判断语句.Py。


image.png

条件判断语句,也被称为 If 语句。

#语法: If  条件表达式 : 语句
#执行的流程: If  语句在执行时,会先对条件表达式进行求值判断
#如果为 True,则执行 If 后的语句
#如果为 False,则不执行
If True : Print(‘你猜我出来么?’)
执行。

image.png

If Flase : Print(‘你猜我出来么?’)

不执行。

image.png

注意开发的时候不会这么写

Num = 10
If  Num >10 : Print('Num比10大!')

不执行。

image.png

Num = 20
If  Num >10 : Print('Num比10大!')

执行。

image.png

这就是利用表达式的值来决定计划是否执行的一个例子。当表达式的条件成立时,这句话被执行;当条件不成立时,该句话则不执行。

Num = 20
If  Num >10 : Print('Num比10大!')
Print(‘谁也管不了我’)

执行。

image.png

Num = 10
If  Num >10 : Print('Num比10大!')
Print(‘谁也管不了我’)

说明这句话不受 If 控制。

image.png

默认情况下,If 语句只会控制紧随其后的那条语句。只负责这一项内容,对其他事项一概不管。

有同学指出,他写的和条件运算符没什么区别,只管一句话如果功能特别多,比如希望条件成立就执行一连串的代码,那只管一句功能是不是太弱了?如果有100句带这个语句,需要都有义务控制。如果条件成立,这100句都执行;如果不成立,这100句都不执行,那要怎么办呢?需要注意若希望If语句能够控制多条语句,可以采用在If后跟一个代码块。

什么是代码块?引入了一个新的概念代码块。当将多个代码行组合在一起时,就形成一个代码块。它保存的是一组代码同一代码块内的所有代码要么全部执行,要么全部不执行。简而言之,这就是代码块的运作方式。代码块是一种对代码进行分组的机制。如果要编写代码块,语句就不能紧随在:后边,而是要写在下一行。

If True
Print(123)

按键盘上的Tab键,会发现光标向右移动了多个位置。然后在这个新位置上编写Print 123。现在会发现Print与If语句处于同一级别。实际上,这种写法与之前展示的完全一致。先来看其效果。

image.png

If True
Print(123)

image.png

If False
Print(123)

image.png

请注意必须正确缩进,只有这样才能表明它确实受到 If 语句的管理。

If False :
Print(123)
Print(456)

  image.png

If True:
Print(123)
Print(456)

image.png

这两条语句现在都受到If条件的控制。只要代码块存在缩进,就表明它受If条件的控制。

If True:
Print(123)
Print(456)
Print(789)
Print(101112)

image.png

If False:
Print(123)
Print(456)
Print(789)
Print(101112)

image.png

语法:If 条件表达式:

代码块

 

当出现一个缩进,就表示一个代码块的开始,而这个代码块的管理权属于它前面的上一行代码。

If False:
Print(123)
Print(456)
Print(789)
Print(101112)
Print(‘Hello’)

image.png

If True:
Print(123)
Print(456)
Print(789)
Print(101112)
Print(‘Hello’)

image.png

会发现无论是True还是False,对执行结果没有影响它已经不属于代码块。因此代码块以缩进开始,直到代码恢复到之前的缩进级别时结束,比如阅读文章时会遇到的情况有时文章中会出现引用,如鲁迅的名言,可能会直接引用或者在下一行进行标注

例子:

鲁迅说过:

世上本来没有路,走的人多了自然就有了!

Xxxx

Yyyy....

代码块与其它语言稍有不同这也是在讲解语法时强调 Python 是一种严格缩进的语言的原因。在 Python 中,绝对不能随意编写缩进,因为缩进在这里不仅仅是一个格式问题,它代表着代码块的开始和结束。

相关文章
|
9月前
|
存储 Linux Shell
Linux常见根目录详释
- **/home**:存放普通用户的主目录。 - **/root**:超级用户的主目录。 - **/tmp**:存放临时文件。 - **/mnt** 和 **/media**:用于挂载外部存储设备。 - **/boot**:存放启动Linux所需的文件,如内核。 - **/lib** 和 **/lib64**:存放系统运行时需要的库文件。 - **/opt**:存放第三方提供的可选软件包。 - **/srv**:存放服务数据,如Web服务器的数据。 这些目录构成了Linux文件系统的骨架,支持系统的正常运行和管理。
388 12
|
Kubernetes Ubuntu NoSQL
harbor镜像仓库自建
harbor镜像仓库自建
|
5月前
|
监控 Linux 开发者
理解Linux操作系统内核中物理设备驱动(phy driver)的功能。
综合来看,物理设备驱动在Linux系统中的作用是至关重要的,它通过与硬件设备的紧密配合,为上层应用提供稳定可靠的通信基础设施。开发一款优秀的物理设备驱动需要开发者具备深厚的硬件知识、熟练的编程技能以及对Linux内核架构的深入理解,以确保驱动程序能在不同的硬件平台和网络条件下都能提供最优的性能。
301 0
|
9月前
|
监控 搜索推荐 大数据
释放大数据的力量:解锁精准投放的市场营销奥秘
释放大数据的力量:解锁精准投放的市场营销奥秘
400 16
|
9月前
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
1170 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
安全 网络安全 网络虚拟化
Cisco-三层交换机实现VLAN间路由
Cisco-三层交换机实现VLAN间路由
374 0
|
9月前
|
人工智能 资源调度 调度
DeepSeek一体机!飞天企业版上新“AI Stack”,支持DeepSeek满血版和Qwen单机部署!
飞天企业版上新“AI Stack”,支持DeepSeek满血版和Qwen单机部署!
4813 0
|
10月前
|
监控 数据可视化 安全
中小企业固定资产管理:破解3大痛点,用1个系统省下20%运营成本
中小企业在固定资产管理中常面临资产流失和隐性成本问题,如账实不符、低效盘点和权责不清等。这些问题导致利润被“偷走”,人力成本增加,资产流失难追溯。应用资产管理系统如草料二维码,通过“一物一码”实现资产信息透明化、扫码盘点、多级权限管理和数据统计,帮助企业减少审计成本、降低库存、提高资产使用率,快速部署且使用简单,是中小企业的理想选择。
### Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value; Field ‘id‘ doesn‘t have
### Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value; Field ‘id‘ doesn‘t have
|
存储 监控 Java
深入理解计算机内存管理:优化策略与实践
深入理解计算机内存管理:优化策略与实践