Python支持来自数学的通常逻辑条件:
这些条件可以以多种方式使用,最常见的是在"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 is greater than a”。
Python依赖于缩进(行首的空格)来定义代码中的作用域。其他编程语言通常使用大括号来实现此目的。
示例,if语句,没有缩进(会引发错误):
a = 33 b = 200 if b > a: print("b is greater than a") # 这将引发错误
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关键字捕获前面的条件没有捕获到的情况。
示例
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 is greater than 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 a > b: print("a is greater than b")
如果您只有一个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关键字是逻辑运算符,并用于组合条件语句:
示例,测试a是否大于b,并且c是否大于a:
a = 200 b = 33 c = 500 if a > b and c > a: print("Both conditions are True")
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关键字是逻辑运算符,用于反转条件语句的结果:
示例,测试a是否不大于b:
a = 33 b = 200 if not a > b: print("a is NOT greater than b")
您可以在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.")
if语句不能是空的,但是如果由于某种原因您的if语句没有内容,请添加pass语句以避免出错。
示例
a = 33 b = 200 if b > a: pass