不允许你没有加入社群!

  • ⛳️ 前言
  • ⛳️ if 语句
  • ⛳️ while 语句
  • ⛳️ 总结
    • 课后题

⛳️ 前言

2022 年真的太难了,没想到写给 78 技术人社群的第 2 篇学习博客拖延了这么久的时间,估计第一批成员已经学有所成了吧。

本篇博客继续给大家带来 Python 中的重点知识,分支语句

任何一门语言,基本都包含下述三种逻辑:

  1. 顺序语句;
  2. 判断语句;
  3. 循环语句。

本篇博客要解决的就是后两种语句在编程中的落地实现,由于顺序语句就是正常的线性思维,所以不再进行特别说明。

在正式开始学习前,先用中文写一下两种语句的基本逻辑:

判断语句就是 正确的时候执行一段代码,错误的时候执行另一段代码,循环语句是 当满足某条件,就反复执行

⛳️ if 语句

在上一篇博客 中,咱已经了解了 Python 字符串相关知识,肯定有同学说:“你怎么没继续讲变量,整型变量,运算符这些知识点呀,不按套路出牌?”。

同学,当你问出这个问题的时候,你已经知道这些概念,那我们就不用多讲了,继续学就行了

if 语句是 Python 语言中最基本的条件判断语句,它的基本逻辑就是*当某个表达式为真的时候,就执行其内部代码块*,理解这句话就已经掌握了 if 语句语法,而接下来要做的就是用代码将其实现即可。

if 条件表达式:代码第一行代码第二行

上述表达可以称作伪代码,在学习的时候,可以借助该形式理解程序结构和梳理逻辑。

写代码的时候,一定要注意中英文标点符号的问题。

学习任何编程,语法格式和概念名词都是重点,理解它们才能快速的进入编程大门,所以这里必须要岔开话题,对概念名词进行特殊说明。

第一个要点
if 是 Python 里面的关键字,你不能把这个特殊的单词用作变量名,函数名,类名等,下文学到的 while 也是关键字/保留字。

第二个要点
条件表达式:很重要的概念,是编码领域的抽象名词,先理解,在应用。

条件 二字表是非表真假
表达式 在 Python 中表示的是一个值,这个就特别抽象了,表达式=值,所以在看一下下述代码:

1 # 表达式
1+1 # 表达式
2<6 # 表达式
True # 表达式

这些抽象概念其实才是学编程真正的难点(好像理工科知识都有类似的特点)。此时在把 条件表达式 联系在一起就容易理解了,条件是真假,表达式是一个值,所以 条件表达式是一个真假值,这里一定要理解到位,否则后面学习起来会碰到障碍(说白了,就是跟不上了)。

再补充一个知识点,啥是真假值?在 Python 中,TrueFalse 这两个值表示真假,而它们所在的数据类型叫做布尔类型,转换成普通语句就是:布尔类型的变量仅有两个值,分别是 TrueFalse

你会发现,编程就是这么有趣,理解概念之后,很多问题解释起来就简单多了。

写下你的第一个分支语句代码吧:

if True:print("我是 if 语句")

输出内容如下所示:

语法结构掌握之后,就可以在条件表达式下功夫进行学习了,例如判断下述代码是否为正确的条件表达式。

1 # 条件表达式
0 # 条件表达式
5>2 # 条件表达式
a # 条件表达式
"" # 条件表达式
1==2 # 条件表达式
False # 条件表达式

就上述一段代码,还能延申出很多知识点,但是先放一下,后文我们继续学习,先把 if 语句盘完,其相关知识点还涉及两个,一个是 else 语句,一个是 elif 语句。

依旧是先看一段代码,然后在理解:

age = 18
name = "橡皮擦"
if age <=18:str_ = "本文作者: {},她的年纪是:{}".format(name,age)print(str_)
else:str_ = "本文作者: {},她的年纪是:{}".format(name,age)print(str_)

输出内容如下所示:

上述代码出现了一个新的语句 else:,简单翻译就知道其表示否则的意思,也就是说当 if 语句后跟的 条件表达式 不为真时,那执行 else 语句中的代码。

这里最大的难题,也是初学者要解决的难点,并不在语法结构和代码理解上,而是代码层级,直接进入读代码部分,如果下述内容都可以理解,else 语句也就彻底掌握了。

if True:print("第一个 if 语句")if True:print("第二个 if 语句")if False:print("第三个 if 语句")else:print("第一个 else 语句")if True:print("第四个 if 语句")
else:print("第二个 else 语句")if True:print("第五个 if 语句")

这只是演示代码,实战中代码要更加复杂,如果你可以直接阅读,或明白我为何展示这段代码,else 语句在初学阶段最难的是层级 二字。
如果单纯的看代码无法理解,在配合图片为大家展示一下:


注意上图标记 if else 缩进相同的为一组,并且 if 语句可以单独存在,但 else 语句不可以,直接使用就是语法错误(invalid syntax)。

这里有一个小提示,在 Python 代码缩进的时候,要习惯使用 Tab 键进行操作,而不要敲空格键(官方建议每层缩进为 4 空格,可以在 IDE 中对 Tab 键进行设置)。

if 语句和 else 语句都可以进行嵌套,这一点要牢记。

if 语句的知识点还没有完全说完,还有一个语句,叫做 elif

其实这个也很容易理解,elif 就是 else if 的简写,例如下述需求。

用户选择性别的时候,可以选择男,女,保密 三个选项,在数据库存储的时候,男对应 1,女对应 0,未知对应-1。

上述需求转换为代码之后,就是分支语句由三部分构成,代码示例如下所示:

sex = "男"
if sex == "男":db_sex = 1
elif sex == "女":db_sex = 0
else:db_sex = -1

学习 elif 的时候,要注意下述三点提示信息:

  • elif 语句可以出现多次;
  • elif 语句必须紧接 if 语句出现,不能出现在 else 语句之后;
  • elif 语句不能单独出现;
  • elif 语句可以与 if 语句一起出现。

上述内容都是文字上的描述,依旧抽象,具体内容我们查看代码。

# `elif` 语句可以出现多次;
if True:pass
elif True:pass
elif True:pass
elif True:pass
# 上述代码是正确的
# -----------------------------------------------------------# `elif` 语句必须紧接 `if` 语句出现,不能出现在 `else` 语句之后;
if True:pass
elif True:pass
elif True:pass
elif True:pass
else:pass
# 上述代码是正确的
if True:pass
else:pass
elif True:pass
elif True:pass# 上述代码是错误的
# -----------------------------------------------------------# `elif` 语句不能单独出现;
elif True:pass
elif True:pass
# 上述代码是错误的
# -----------------------------------------------------------# `elif` 语句可以与 `if` 语句一起出现。
if True:pass
elif True:pass
# 上述代码是正确的
# -----------------------------------------------------------

elif 语句最重要的知识点内容,都在上述代码中了,反复学习即可。

下面在把刚刚欠的知识点进行一下补充。

1 为什么是一个条件表达式,按照咱们刚刚学过表达式的概念判断,其应该为整数表达式。
没错,但是因为我们将 1 放在了 if 语句的后面,所以语法规范要求其转换为条件表达式,所以可以得到下述结论。

条件表达式仅有 2 个结果,一是 True,另一个 False。

  1. 任何非 0 整数都可以转换为真,即 True;
  2. 任何非空字符串都可以转换为真,即 True;
  3. ><== 等符号是条件运算符,即使用该运算符之后,会返回一个布尔值;

⛳️ while 语句

在 Python 中最先接触的循环语句,就是 while 循环,其语法格式如下所示:

while 条件表达式:待执行的代码块待执行的代码块
不属于 while 语句的代码块

有了前文的铺垫,这时你最先理解的依旧是 条件表达式 的重要性,当其值为真时,执行 while 语句内部代码,为假时,不执行。

接下来直接进行代码阅读环节。

i = 0 # 声明一个全局变量
while True:# 变量执行+1操作i+=1# 输出变量 iprint(i)

运行代码,会发现出现了 死循环 现象,该情况是未来我们要尽量避免的代码。

死循环:代码无终止状态,一直运行下去。

上述代码声明了一个全局变量,然后条件表达式 设置为 True,此时一直为真,所以循环语句内部的代码会一直运行下去,每次都进行 +1 操作,即得到如下结果。


一般情况下,我们编写循环代码是需要一个终止状态的,请阅读如下代码:

i = 0
while i<10:i+=1print(i)

代码运行结果如下所示:

当输出数字 10 之后,代码停止运行,即当 条件表达式 i<10 不成立的时候,代码停止运行,那条件表达式为 False 是如何形成的,就涉及 while 语句的运行规则了,还是文字说明。

  • 第一次循环:当 i = 0 的时候,满足 i<10 这一条件,所以执行 while 内部代码,即执行 i+1,并且输出 i;
  • 第二次循环:第二次循环 i = 1 ,重新到条件表达式 i<10 位置进行判断,满足这一条件,所以执行 while 内部代码,即执行 i+1,并且输出 i;
  • 第三次循环:第三次循环 i = 2 ,重新到条件表达式 i<10 位置进行判断,满足这一条件,所以执行 while 内部代码,即执行 i+1,并且输出 i;
  • ……
  • 第 N 次循环,此时 i =10,已经不满足 i<10 这一条件了,终止循环,代码结束运行,这就是 while 循环的运行过程。

如果在代码运行过程中,出现了 死循环 情况,可以使用组合键 Ctrl+C 终止代码运行。

掌握 while 循环的关键点就是掌握其运行流程!

实战中 while 语句可以进行嵌套,但是尽量不要超过三层,否则会大幅度增加代码理解难度,例如你可以阅读下述代码,然后吐槽一下这是哪个队友写的。

a = 10
while a < 15:print("a=",a)a+=1b = 1while b<5:print("b=",b)b+=1c = 1while c < 5:print("c=",c)c+=1

临摹上述代码,自行在 Python 环境中进行测试,你会劝自己以后不写三层循环的。

while 语句中也可以嵌套 if 语句,这里还需要补充两个知识点,即两个语句。

  • break 语句:终止当前循环;
  • continue 语句:跳过当前循环。

下面的环节依旧是阅读代码,理解逻辑。

i = 0
while i<5:i+=1if i==3: # 当 i == 3 的时候,跳出当前循环continueprint('i=',i)

代码运行结果如下所示,其输出内容跳过了 i = 3,然后循环继续运行,这就是 continue 的价值。

上述代码换做 break 之后,你可以继续查看效果。

i = 0
while i<5:i+=1if i==3: # 当 i ==3 的时候,终止当前循环breakprint('i=',i)

代码运行结果,当 i=3 时,循环不在运行。

在代码实战中,continue 跳过当前循环,这一场景使用较少。

⛳️ 总结

第二天的学习到这里就可以了,本篇博客的重点就分为两部分,if 语句和 while 语句,学习的难点是条件表达式,本文学习完毕,你已经掌握了程序运行的三大语句了。

课后题

  • 写一个颜色翻译器,可以识别 10 种颜色;
  • 实现在字符串中查找子字符串,例如 梦想橡皮擦的 Python 专栏写的还不错,在其中查找,如果有,返回真;
  • 输出 1-100 之间的所有偶数,所有基数,所有 5 的倍数;

写给Python社群的第2课:Python逻辑语句,天天要写的 if 和 while相关推荐

  1. 视频教程-Python全栈开发入门课-Python

    Python全栈开发入门课 前百度资深大数据工程师,现在爱奇艺推荐算法架构师,对python使用7年,具备大数据.机器学习.深度学习.推荐算法等多领域的技术能力 裴帅帅 ¥29.00 立即订阅 扫码下 ...

  2. python 论坛搭建_Python第一课 - python的开发环境的搭建

    Python第一课 - python的开发环境的搭建 一.下载安装Python的安装包 打开官网 https://www.python.org/downloads/windows/ 下载中心 [标记为 ...

  3. python编程零基础免费网课-Python网课推荐——免费学习Python编程

    对于想要学习python的初学者,面对网上大量的学习素材无从下手.今天小编就整理了一份详细的python教学视频合集,希望能为初学者提供一些学习的方向. 1.python入门 课程推荐:零基础入门学习 ...

  4. 写给Python社群的第7课:用 Python 模块了不起呀?就是了不起

    文章目录 ⛳️ Python 模块 ⛳️ datetime 模块

  5. 写给Python社群的第10课:Python 研发 Windows桌面程序,长长长的文

    文章目录 ⛳️ 图形用户界面 ⛳️ PyQt 安装和 designer 工具

  6. python 办公自动化 视频教程_先导课-python办公自动化

    那么我们开始今天的教程吧 1.本节课我们进行讲解Python办公自动化简介,对于编程语言种类存在的编程语言有:C语言.C++.Java语言.Python语言.R语言.PHP.C#等等,Python语言 ...

  7. python将列表转换为字符串_每日一课 | Python将文件读入列表

    读取日志文件的Python示例,一行一行地进入列表. # With '\n', ['1\n', '2\n', '3'] with open('/www/logs/server.log') as f: ...

  8. android 判断文件是否存在_每日一课 | Python检查文件是否存在

    在Python中,我们可以使用os.path.isfile()或pathlib.Path.is_file()(Python 3.4)来检查文件是否存在.1. pathlibPython 3.4的新功能 ...

  9. python编程入门第一课_python入门前的第一课 python怎样入门

    人工智能时代的到来,很多文章说这么一句:"不会python,就不要说自己是程序员",这说的有点夸张了,但确实觉得目前python这个语言值得学习,而且会python是高薪程序员的必 ...

最新文章

  1. java plug in错误_Eclipse启动失败 - 在安装BlackBerry Java Plug-in for Eclipse v1.3之后
  2. 静态自动检查代码缺陷与隐患
  3. CVPR 2021 | 澳洲国立大学提出基于模型的图像风格迁移
  4. 自动化测试基础之Python常见问题
  5. Linux系统上的库文件的生成与使用
  6. php 处理表单里面的 单双引号
  7. java工作台无法显示_【Eclipse】使用指南(18)搜索工作台
  8. 地铁看java书女生_地铁上背单词的女孩
  9. WCF中如何用nettcp协议进行通讯
  10. awk 使用正则表达式_如何在awk中使用正则表达式
  11. CAN笔记(3) 错误状态
  12. DBA自述:非科班出身,如何成为Oracle ACE
  13. 动态二维数组外圈元素值的和_C语言 | 用指向元素的指针变量输出二维数组元素的值...
  14. 6s android,Android死忠粉自述为何必买iPhone 6S
  15. Golang 结构类型
  16. 训练深度神经网络提示
  17. Apache Shiro(一)——Shiro简介
  18. c++ 容器、继承层次、句柄类
  19. 什么是 云原生应用?
  20. 英语美文-不做有才华的穷人

热门文章

  1. 计算机病毒实训,2021计算机病毒实验报告
  2. 计算机病毒的关键技术,计算机病毒实验系统关键技术研究与实现
  3. 分享134个ASP源码,总有一款适合您
  4. 戴尔7040linux改装win7,戴尔OptiPlex 3060台式机win10改win7系统(完美支持usb)
  5. 区块链概念股分析 | 远光软件大涨128%,区块链或成关键因素?
  6. tee啥意思_不知道白tee是什么意思你就out啦!白tee潮流穿搭
  7. 香甜的黄油 图论—最短路径
  8. CMS:内容(文章)管理系统
  9. mysql group by date_format( stat_time, '%Y/%m/%d' ) 优化
  10. Gym 100685A Ariel (运算)