Python条件语句match case与比较:从if到模式匹配完全指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Python条件语句:完整学习指南

条件语句是编程中的基础核心概念。它们让代码能够根据特定条件做出决策,并执行相应的操作。Python为开发者提供了一套强大的工具来处理条件逻辑。

条件语句的主要类型

Python编程语言支持以下几种条件语句:

  • 经典的if、elif和else结构
  • 逻辑运算符and、or、not
  • 比较运算符==、!=、<、>、is、in
  • 结构模式匹配match case(Python 3.10及以上版本)

每种工具都有其独特的应用场景,适用于解决不同的编程问题。

基础条件结构

if、elif、else结构

Python条件逻辑的核心是if-elif-else结构:

x = 10
if x > 0:
    print("正数")
elif x == 0:
    print("零")
else:
    print("负数")

Python使用缩进来定义代码块,而不是花括号。正确使用缩进至关重要,因为它是语言语法的一部分。

语法要点

Python中的缩进必须在整个代码中保持一致。建议每个嵌套级别使用4个空格。混用空格和制表符可能导致程序运行错误。

Python比较运算符

Python支持多种比较运算符,帮助您构建复杂的条件:

算术比较

  • == 检查值是否相等
  • != 检查是否不相等
  • < 和 > 分别比较小于和大于
  • <= 和 >= 包含相等情况的比较

特殊运算符

is 运算符检查对象在内存中的身份,而非值的相等性。in 运算符检查元素是否属于某个集合。

s1 = "hello"
s2 = "hello"
print(s1 == s2)  # True - 值相等
print(s1 is s2)  # True - 对于驻留字符串

字符串比较与特性

Python会自动驻留短字符串,这意味着相同的字符串可能指向内存中的同一个对象。这会影响通过is进行比较的结果。

逻辑运算符:and、or、not

逻辑运算符允许您在同一个表达式中组合多个条件:

a = 5
b = 10
if a > 0 and b > 0:
    print("两者都是正数")

逻辑运算符的工作原理

  • and 仅当两个条件都为真时返回True
  • or 只要至少一个条件为真就返回True
  • not 反转逻辑值

短路求值

Python在计算逻辑表达式时采用短路求值原则。这意味着如果第一个操作数已经确定了结果,第二个操作数将不会被计算。

嵌套条件结构

条件语句可以相互嵌套,以创建更复杂的逻辑:

x = 15
if x > 0:
    if x < 10:
        print("小于10")
    else:
        print("10及以上")

使用建议

过度的嵌套会降低代码的可读性。建议将嵌套层级限制在3-4层以内,并在必要时将复杂逻辑提取到独立的函数中。

Python 3.10+中的match case

结构模式匹配入门

博客

书籍推荐