On this page

Python 条件语句

Python 条件和 If 语句

Python 支持数学中常见的逻辑条件:

  • 等于:a == b
  • 不等于:a != b
  • 小于:a < b
  • 小于或等于:a <= b
  • 大于:a > b
  • 大于或等于:a >= b

这些条件有多种使用方式,最常见的是“if 语句”和循环 。 使用if关键字来编写“if 语句” 。

例子

If 语句:

a = 33
b = 200
if b > a:
  print("b is greater than a")

在此示例中,我们使用两个变量a和b,它们用作 if 语句的一部分来测试b是否大于a。由于a为33,而b为200,我们知道 200 大于 33 ,因此我们将“b 大于 a”打印到屏幕上。

缩进

Python 依靠缩进(行首的空格)来定义代码的范围。其他编程语言通常使用花括号来达到此目的。

例子

If 语句,没有缩进(将引发错误):

a = 33
b = 200
if b > a:
  print("b is greater than a")

elif

elif关键字是 Python 的说法,“如果先前的条件不成立,则尝试这个条件”。

例子

a = 33
b = 33
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")

在这个例子中, a等于b,所以第一个条件不成立,但是elif条件成立,所以我们在屏幕上打印“a and b are equal”。


else

else关键字捕获前面条件未捕获的任何内容。

例子

a = 200
b = 33
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")
else:
  print("a is greater than b")

在这个例子中, a大于b,所以第一个条件不真,elif条件也不真,所以我们转到else条件并打印到屏幕上“a 大于 b”。 您还可以拥有else不带的 elif

例子

a = 200
b = 33
if b > a:
  print("b is greater than a")
else:
  print("b is not greater than a")

简写 If

如果只有一条语句需要执行,则可以将其放在与 if 语句同一行。

例子

一行 if 语句:

if a > b: print("a is greater than b")

简写 If ... Else

如果仅要执行一条语句,一条用于 if,一条用于 else,则可以将其全部放在同一行上:

例子

一行 if else 语句:

a = 2
b = 330
print("A") if a > b else print("B")

这种技术被称为三元运算符条件表达式。 您还可以在同一行上使用多个 else 语句:

例子

一行 if else 语句,包含 3 个条件:

a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")

and

and关键字是逻辑运算符,用于组合条件语句:

例子

测试是否a大于 b,并且是否c 大于a

a = 200
b = 33
c = 500
if a > b and c > a:
  print("Both conditions are True")

or

关键字or是逻辑运算符,用于组合条件语句:

例子

测试是否a大于 b,或是否a 大于c

a = 200
b = 33
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")

not

关键字not是逻辑运算符,用于反转条件语句的结果:

例子

测试如果a不大于 b

a = 33
b = 200
if not a > b:
  print("a is NOT greater than b")

嵌套 If

语句中可以包含if语句 if,这称为嵌套 if语句。

例子

x = 41

if x > 10:
  print("Above ten,")
  if x > 20:
    print("and also above 20!")
  else:
    print("but not above 20.")

pass 语句

if语句不能为空,但如果由于某种原因您有一个if没有内容的语句,请将该语句放入pass以避免出现错误。

例子

a = 33
b = 200

if b > a:
  pass