Python条件语句详解:if-elif-else语法与逻辑运算

Chloe
Chloe
发布时间:2026-10-14 | 3人浏览过
原创

本文详细介绍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条件语句的介绍已完成。如需了解更多相关内容,请搜索本站历史文章或继续浏览后续教程,感谢支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表