Python条件语句详解:if-elif-else语法与逻辑运算
本文详细介绍Python中的条件语句,包括if、elif和else的基本语法结构。通过代码示例演示如何判断非零值、使用比较运算符以及处理多个条件分支。内容涵盖逻辑运算符and/or的优先级、单行条件语句写法及条件嵌套技巧,帮助开发者快速掌握Python流程控制核心知识。
Python条件语句基础语法
Python条件语句依据表达式执行结果(True或False)来决定后续执行的代码块。
通过下图可直观了解条件语句的执行流程:

在Python中,任何非0和非空(null)值均被视为True,而0或null则被视为False。
Python使用if语句控制程序执行路径,其基本语法格式如下:
if 判断条件: 执行语句。。。 else: 执行语句。。。
当“判断条件”成立(即非零值)时,执行后续语句。执行内容可包含多行,通过缩进区分同一代码块的范围。
else为可选语句,用于在条件不成立时执行特定逻辑。若条件不成立时无需操作,可省略else部分。
以下是一个具体应用示例:
flag=False # 定义变量flag为假
name="csdn" # 定义变量name为“csdn”的字符串
if(name=='python'): # 判断变量是否为 python
flag=True # 条件成立时设置标志为真
print("this is python conditional statement") # 并输出提示信息
else:
print(name) # 条件不成立时输出变量名称
输出结果
csdn
与C/C++和Java不同,Python的if-else语句无需使用花括号包裹执行语句,这是Python语法的一个显著特点。
多条件判断与逻辑运算
if语句的判断条件可使用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)等运算符来定义关系。
当涉及多个判断条件时,可采用以下结构:
if 判断条件1: 执行语句1。。。 elif 判断条件2: 执行语句2。。。 elif 判断条件3: 执行语句3。。。 else: 执行语句4。。。
参考经典的成绩评级实例:
grade=99 #定义grade变量并赋值
if(grade>=90): #第一个分支,判断grade是否>=90
print("优秀")# 是就输出“优秀”,不是则继续看下面分支
elif(grade>=80):#第二个分支,判断grade是否>=80
print("良好")# 是就输出“良好”,不是则继续看下面分支
elif(grade>=70):#第三个分支,判断grade是否>=70
print("中等")# 是就输出“中等”,不是则继续看下面分支
elif(grade>=60):#第四个分支,判断grade是否>=60
print("及格")# 是就输出“及格”,不是则继续看下面分支
else: #当所有分支均不满足,进入else分支
print("不及格")# 只要进入else分支就执行该语句
输出结果为
不及格
由于Python不支持switch语句,多条件判断需依赖elif实现。若需同时满足多个条件,可使用or(或)表示任一条件成立即成功,使用and(与)表示所有条件同时成立才成功。
以下三个实例展示了if语句中多条件的处理方式:
#实例1
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print("hello")
# 输出结果: hello
#实例2
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print("hello")
else:
print('undefine')
# 输出结果: undefine
#实例3
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print("hello")
else:
print('undefine')
# 输出结果: undefine
当if包含多个条件时,可使用括号明确判断顺序,括号内逻辑优先执行。此外,and和or的优先级低于>、<等比较运算符,即无括号时比较运算优先于逻辑运算。
单行条件与嵌套用法
此外,支持在同一行编写if条件判断语句,如下例所示:
time=60
if(time<=60):print("珍惜时间")
print("时间已经流逝")
输出结果为
珍惜时间 时间已经流逝
程序中支持if语句嵌套,相同缩进层级属于同一条件结构。以下通过Python 2代码示例演示条件嵌套用法:
使用python(x,y)环境,代码如下:
k=raw_input("input the index of shape:")
if k=='1':
print "circle"
elif k=='2':
print "oval"
elif k=='3':
print "rectangle"
s1=int(raw_input('the first side:'))
s2=int(raw_input('the second side:'))
if s1==s2:
print "the square's area is:%d." % (s1*s2)
else:
print "the rectangle's area is:%d." % (s1*s2)
elif k=='4':
print "triangle"
else:
print "you input the invalid number."
多次运行该代码,执行结果如下图所示:

总结
至此,关于Python条件语句的介绍已完成。如需了解更多相关内容,请搜索本站历史文章或继续浏览后续教程,感谢支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













