3句话,让你学会Python条件与分支,那是不可能的……
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3句话,让你学会Python条件与分支,那是不可能的……相关的知识,希望对你有一定的参考价值。
条件与分支是编程语言逻辑的开始,也是编程领域里面非常重要的内容。
本文将从【完全 0 基础】的视角,为你阐述 Python 中的条件分支。
条件分支语句
初学 Python 遇到的第一个门槛,就是条件分支,因为这里会涉及几个难点,罗列如下,如果你已经学过条件分支语句,可以对比复习一下。
- 你已经学习了 Python 中的变量,运算符,数据类型等基本概念,条件分支将把之前的内容进行系统的结合;
- 你将首次接触编程中的分支概念,代码将不再是从上到下依次执行;
- 你将首次接触 Python 中的代码缩进,而它将提高你编写 Python 代码犯错的几率;
- 你要时刻区分
=
与==
。
在正式学习前,再次确定如下 Python 基础,你已经学习并掌握:
- Python 变量的声明、赋值、使用;
- Python 常见的数据类型,例如整数,字符串;
- Python 运算符,重点是比较运算符,逻辑运算符;
- Python 输出函数;
如果以上内容都准备完毕,那接下来要了解的第一个知识点为:
在 Python 中条件分支语句使用 if else 实现,如果出现多分支,还会使用 elif 。
条件分支语句的语法格式
任何编程语法学习,都建议先看代码,读代码的同时,去学习标准语法。
# 声明变量 num,并且赋值为 1
num = 1
# 条件分支
if num > 5:
print("变量 num 大于 5")
else:
print("变量 num 小于等于 5")
上述代码就是一个标准的条件分支语句,提炼语法格式如下:
if 条件表达式:
# 满足条件语句,执行此处代码
else:
# 不满足,执行此处代码
注意上述注释 #
之前为 4 个空格,或者使用键盘 Tab
进行缩进,Python 通过空格缩进判定代码层级,该写法是 Python 非常重要的一个知识点。
缩进常见的错误如下:
- 不该使用空格或 Tab 缩进的地方,使用了空格或 Tab;
- 同级别的代码没有缩进;
- 缩进量不对,有的地方是 3 个空格,有的地方使用了 1 个 Tab 或者其它数量的空格;
- 缩进和空格混用。
例如下述代码,就会出现异常错误:
if user_score >= 60:
print("你的成绩合格")
print("代码缩进量不一致") # 注意此处
else:
print("成绩不及格")
运行代码,会得到如下异常:
File "E:/pythonProject/测试.py", line 29
print("代码缩进量不一致")
^
IndentationError: unexpected indent
unexpected indent
翻译成中文就是 意外缩进
。
同时在 Python 中只是行业建议缩进量为 4 空格,你可以在相同的层级缩进 3 个或者 1 个空格,都没有问题,只要保证该层级一致即可。
if user_score >= 60:
# 此处的缩进量为1个空格
print("你的成绩合格")
print("代码缩进量为1空格")
else:
print("成绩不及格")
条件表达式
上述语法格式中提及了条件表达式,你可以简单将其看为一个返回 True
或者 False
的表达式。
下述代码举例,都可以放在条件表达式位置。
a == 1
b > 5
a <= 4
my_str == "橡皮擦"
my_str != "橡皮擦"
只要一个表达式返回值是一个布尔类型,或者可以隐性转换为布尔类型,都可以放在条件表达式位置上。同时条件表达式位置,支持逻辑运算符,即 and
,or
,not
。
如果在编程逻辑中,出现三种以上分支逻辑,可以使用 elif
进行编码,语法格式如下:
if 条件表达式:
# 执行代码
elif 条件表达式:
# 执行代码
elif 条件表达式:
# 执行代码
else:
# 执行代码
参考上述格式,可以进行一个成绩判断,即根据得分展示 A
,B
,C
……
# 获取成绩
user_score = input("请输入你的得分:")
# 成绩转换为 int 类型
user_score = int(user_score)
if user_score >= 90:
print("你的成绩为A")
elif user_score >= 80 and user_score < 90:
print("你的成绩为B")
elif user_score >= 70 and user_score < 80:
print("你的成绩为C")
elif user_score >= 60 and user_score < 70:
print("你的成绩为D")
else:
print("成绩不及格")
如果条件表达式由多个语句构成,你可以使用小括号,使得代码更加清晰。
if user_score >= 90:
print("你的成绩为A")
elif (user_score >= 80 and user_score < 90):
print("你的成绩为B")
后续扩展
在部分代码编写时,有时只需要一个 if
判断即可完成业务逻辑,即条件分支语句只由 if
语句构成,代码如下:
if user_score >= 60:
print("及格")
在 Python 中没有 switch/case
语句,如果你学习过其它语言,此点要特别注意一下。
else
除了应用在上述分支语句以外,在 for/while 循环
和 try/except 语句
中也存在 else
分支,这点可以阅读 《滚雪球学Python系列》,在循环与异常两小节进行学习。
除了上述内容外,Python分支语句还有更加高级的用法,提高知识点如下所示
- 分支的多层嵌套,例如在
if
分支中,再嵌套一个或多个条件分支语句, 但是请尽量避免分支嵌套,因为层级越多,越容易出现错误; - 假如使用了多层分支,你可以使用
return
或raise
等语句提前结束分支; - 如果条件分支逻辑中的条件表达式过于复杂,即
if
语句后面的表达式过长,可以对其进行封装,当然这些需要你掌握了函数相关知识,才可以实现; - 不同分支下重复的代码,可以进行封装,简化代码;
- 在Python中还可以使用三元表达式编写分支,但三元表达式阅读性较差,建议只应用在简单的逻辑处理上;
更多的条件分支语法,需要我们进一步学习 Python 语言才能扩展,作为零基础的你,可以优先掌握本文所涉及知识点,然后学习后续内容即可。
收藏时间
来都来了,不发个评论,点个赞,收个藏吗?
今天是持续写作的第 198 / 200 天。
可以关注我,点赞我、评论我、收藏我啦。
更多精彩
《Python 爬虫 100 例》只需要 39.9 元,即可享受 100+篇博客阅读权,每篇文章不到 4 毛钱哦。
以上是关于3句话,让你学会Python条件与分支,那是不可能的……的主要内容,如果未能解决你的问题,请参考以下文章
3分钟,让你学会区分python中self与__init__?
干货来袭!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第3天)概率分析篇:条件概率全概率与贝叶斯公式