Python条件语句的用法

python条件语句使用 if 表达式,难度不高,需要注意的是嵌套用法,以及如何设置对应的条件。

if 条件判断语句

python 语句是按固定顺序执行的,先执行前面的语句,再执行后面的语句。如果你像要程序按照你自己定制的流程执行,就需要用到流程控制的语句,最主要用到的是条件语句和循环语句。

条件语句用 if 表示,它表示当满足某个条件时,执行下面的分支代码。当条件不满足时,则跳过下面的分支代码。

image-20210907141048465
image-20210907141048465

在互联网产品中,你经常能看到条件判断的场景。比如在一个 app 的登录页面中,输入用户名和密码后,程序会判断用户名和密码是否正确,如果正确,则运行用户进入登录状态。如果错误,则必须重新输入。

对应的伪代码为:

if 用户名和密码正确:
  	登录成功
else:
  	重新输入用户名和密码

if 语句的语法可以表示为:

if expression:
  	statement1
else:
  	statement2

当 expresssion 这个表达式为 True,表示条件满足,statement1 会执行;当 expression 表达式结果为 False,则跳到 statement2 执行。 else 表示在一个 if 语句中上面所有的条件均不满足时,会执行的分支。当你确定 else 时你不需要做任何事,可以省略 else:

if expression:
  	statement1

这里需要注意一点,在 python 中遇到冒号: 时,新的一行要缩进,表示子句。如果没有新行,而是直接把语句跟在后面,则不需要缩进:

if expression: statement1

举个例子来说明一下 if 语句的用法。当学生考试成绩高于 80 分,表示良好,否则表示一般。

score = 88
if score > 80:
  	print("良好")
else:
  	print("一般")

有时候一个 if 语句中会有多个条件判断,可以使用 elif 来分隔每一组条件。

score = 70
if score > 80:
  	print("良好")
elif 60 < score <= 80:
  	print("还行")
else:
  	print("不及格")

在同一个 if 语句中,只有第一个率先满足条件的分支会执行,其他的分支不会执行。在上面的例子中,学生得了 70 分,第二个条件表达式率先满足,则走第二个分支。 而在下面的例子中,如果多个条件的范围有重合,会打印什么呢?

score = 70
if score > 60:
  	print("不错哦")
elif 60 < score <= 80:
  	print("还好")
else:
  	print("不及格")

因为第一个条件率先满足,所以直接执行第一个分支,其他的分支都不再执行。

多个 if 表达式需要独立判断:

score = 70
if score > 60:
  	print("不错哦")
if 60 < score <= 80:
  	print("还好")
else:
  	print("不及格")

在这个例子中,有 2 个 if 表达式,第一个不会影响第二个的执行。。

条件语句嵌套

在一个 if 语句中可以嵌套另一个 if 语句,像俄罗斯套娃一样。它表示在满足外层 if 条件后,可以执行里面的 if 语句。但是通常提早结束 if 语句,因为当条件语句嵌套很多层之后,会影响代码的可读性。

score = 88
age = 1

if score > 80:
 print("良好")
if age < 6:
 print("神童")
else:
 print("一般")

你可能不知道的条件操作

在程序当中,经常需要判断一个字符串是否为空,最常使用的方式是:

a = ''
if not a:
  	print("字符串为空")

if a:
print("字符串不为空")

不管是字符串也好,还是列表、字典、集合,都可以使用同样的方式判断他们是否为空。当然你也可以使用下面的方式,但是这些都不是好的做法。

if a == '':
  	print("字符串为空")
if len(a) == 0:
  	print("字符串为空")

判断是否为 None, 用 is 判断:

if a is None:
  	print("a 为 None")

判断是否为 0:

if a == 0:
  	print("a 为 0")

python条件判断语句案例

name = ''
password = ''
if name == 'admin' and password == '123456':
   print("登录成功")
else:
   print("登录失败")
posted @ 2022-08-29 16:57  和牛  阅读(597)  评论(0编辑  收藏  举报