基础语法
在Python中,条件语句允许根据条件执行代码块。常见的条件语句包括 if
、elif
(else if 的缩写)和 else
,其语法如下:
if condition1:
# code block to execute when condition1 is True
elif condition2:
# code block to execute when condition1 is False and condition2 is True
else:
# code block to execute when both condition1 and condition2 are False
if
语句首先对condition1
进行测试。如果condition1
是 True,相应的代码块将被执行。如果condition1
是 False,elif
语句进一步测试condition2
。如果elif
语句的条件是 True,则执行相应的代码块。如果elif
语句的条件是 False,最后执行else
代码块。
条件表达式可以使用比较运算符,常见的包括:
- 相等运算符
==
- 不等运算符
!=
- 大于运算符
>
、大于等于运算符>=
- 小于运算符
<
、小于等于运算符<=
还可以使用逻辑运算符对多个条件进行组合,常见的包括:
- 逻辑与
and
- 逻辑或
or
- 逻辑非
not
以下是一个示例,演示如何使用条件语句:
x = 5
if x > 0:
print("x is positive")
elif x == 0:
print("x is zero")
else:
print("x is negative")
在这个例子中,变量 x
的值为 5
。由于 x
大于零,因此条件 x > 0
是 True,因此打印出 x is positive
。
此外,条件语句还可以嵌套使用,常见的包括 if 语句内嵌套 if 语句、if 语句内嵌套循环语句等等。这些是使用条件语句编写复杂逻辑的关键。
Python的条件语句有一些深入的特性和技巧,下面列出其中的一部分。
短路求值
在 Python 中,当使用逻辑运算符 (and
和or
)时,如果表达式中的第一个条件就已足以返回结果,程序就不会再去执行后续的条件判断。这就是 Python 中的短路求值。
例如:
x = 5
y = 0
if x > 0 and y / x > 2:
print("This won't be printed")
由于 x 大于 0,可以直接判断整个表达式的结果为 False,程序不会执行第二个条件,也就不会抛出 ZeroDivisionError 异常。
三元条件运算符
Python 中有一种称为三元条件运算符的特殊写法,可以用一行代码替代一小段简单的条件语句,语法是这样的:
value_if_true if condition else value_if_false
这个表达式会先计算 condition 是否为 True,如果是,则返回 value_if_true,否则返回 value_if_false。
例如:
x = 5
message = "Positive" if x > 0 else "Non-positive"
print(message)
这段代码使用了三元条件运算符,如果 x 大于 0,则 message 被赋值为字符串 "Positive",否则被赋值为 "Non-positive"。
需要注意的是,三元条件运算符的嵌套使用可能会让代码难以理解和调试,应当谨慎使用。
pass 语句
在一些情况下,需要使用条件语句却还没想好具体要执行什么操作,这时可以使用 pass 语句作为占位符,它不会做任何事情,只是占据空间。
例如:
x = 5
if x > 0:
print("x is positive")
elif x == 0:
pass
else:
print("x is negative")
这段代码使用了 pass 作为 elif 语句的占位符,如果 x 等于 0,程序不需要执行任何操作,但是如果没有这个 elif 语句,代码就会出现语法错误。