一、前提知识点:布尔类型
首先我们来重温一个知识点:布尔类型。
用标准话来说,布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是 0 和 1。Python 中的布尔类型只有两种值:True 和 False。(注意:首字母都是大写)其中字面量 True 表示真,字面量 False 表示假。
用人话来说,布尔类型,就是相当于一条指令,专门告诉计算机这是真的还是假的。
比如说,我们想告诉计算机:如果满足条件1,你就输出代码1.
其中的“如果”,就是我们即将要讲的条件语句if。那么满足条件1该怎么表达?
这时就用到了布尔中的True。系统默认,如果什么都不加那就是真的,比如:
if 条件1:
这里的条件1就是真的,整个代码的意思就是,如果满足条件1,就…
布尔知识点补充:(如果只学条件语句,可以直接跳过了,这里是对布尔的详细补充)
表示真的有:True,1,非空字符
表示假的有:False,0,空字符
用法:
(1)while True:
print(1)
(2)while 1:
print(1)
(3)while n>0:
print(1)
二、条件语句
1.if函数
1.1句式结构(注意缩进哦)
if 条件1: 代码1 elif 条件2: 代码2 elif 条件3: 代码3 …… else: 代码
说明:这里的……的意思是,你爱写几个elif,就写几个,甚至可以不写elif,最简单的就是:
if 条件1: 代码1 else: 代码2
更有甚者,else都可以不写,直接写:
if 条件1: 代码1
当然,具体选择哪种,还得看你想有几个选项
1.2用法
问题1:如果2大于0,那你就输出对,否则输出错
这个应该很好理解:if在这就是调用如果的指令,if 2>0:就是如果2大于0的话(注意不要忘了“:”)
else就是否则的意思,所以整个代码就是,如果2大于0,输出对,否则输出错
问题2:如果num大于1,你输出Y,如果num小于-1,你输出X,否则你输出Z
num=5 #在这里可手动修改num的值
if num>1:
print("Y")
elif num<-1:
print("X")
else:
print("Z")
相比问题1,这里多了一个如果,所以代码中多了一个elif
所以,如果你有很多如果,就可以多加几个elif,格式都是不变的
2.match函数
2.1句式结构(注意缩进格式)
match 变量: case 条件1: 代码1 case 条件2: 代码2 case 条件3: 代码3 ……
解释:
如果变量,符合条件1,则执行代码1
如果变量,符合条件2,则执行代码2
如果变量,符合条件3,则执行代码3
……
如果变量,符合条件n,则执行代码n
2.2应用
场景:如果num等于1,那就输出a,如果num等于2,那就输出b
num=1 #可手动修改num的值
match num:
case 1:
print('a')
case 2:
print('b')
有人可能问了,诶!if能实现这个场景吗?直接看下面:
答案是肯定的,可以看到这里我们用了“==”。那么为啥呢,因为一个=是赋值啊!咱得给它区分开呀,所以这里用了“==”来表示等于的意思
3.if函数与match函数区别
(注:我们平常肯定用不出来了,这段就是个扩展)
标准版:
if语句:
- 适用于各种条件判断,尤其是复杂的条件逻辑。
- 可以处理布尔表达式、比较运算、逻辑运算等。
- 支持
if-elif-else
结构,可以处理多个条件分支。
match语句:
- 适用于值的精确匹配。
- 提供了更简洁的语法,特别是在处理多个离散值的匹配时。
- 支持模式匹配,可以匹配各种模式(例如元组、列表、字典等)。
简单版:
if语句:适用于各种条件判断,尤其是一些复杂的东东。但有时候挺冗长的,某些情况下可能不如 match
好使。
match语句:适用于值的精确匹配,而且比较简洁,代码更易读。