Python中的条件控制:if语句
在Python中,条件控制是编写程序时非常重要的一部分。条件控制语句可以根据一个或多个条件的结果,决定程序的执行流程。其中,最常用的条件控制语句就是if
语句。if
语句根据条件的真假执行不同的代码块。
if语句的基本形式
if
语句的基本形式如下:
if 条件:
代码块
如果条件为真,那么代码块中的代码将被执行。代码块由缩进标志,一般使用四个空格或一个制表符来表示。
Python中的True和False
在Python中,布尔类型(bool)有两个值:True
和False
。True
表示条件为真,False
表示条件为假。
Python中有一些情况下会被判定为False
,如下所示:
- 数字0(包括0、0.0、0j等)被判定为
False
。 - 空字符串
''
被判定为False
。 - 空列表
[]
、空元组()
和空集合{}
也被判定为False
。 - 空字典
{}
被判定为False
。 None
被判定为False
。- 自定义对象可以通过重写
__bool__
或__len__
方法来定义其布尔值。
其他情况下,都会被判定为True
。
if
语句中的条件判断
在if
语句中,条件可以是一个布尔值,也可以是一个返回布尔值的表达式。在这里,我们来看一个简单的示例,通过判断一个数是否为奇数,来演示if
语句的用法。
def is_odd(number):
if number % 2 == 1:
return True
else:
return False
在上面的示例中,我们定义了一个函数is_odd
,它接收一个参数number
。在函数体内部,我们使用取模运算符%
来判断number
是否为奇数。如果number
除以2的余数为1,就返回True
,否则返回False
。这个条件判断操作被放置在if
语句中,如果条件为真,就返回True
,否则返回False
。
我们可以通过调用这个函数来验证它的正确性:
print(is_odd(5)) # 输出:True
print(is_odd(2)) # 输出:False
if
语句可以嵌套
在Python中,if
语句可以嵌套使用,以满足更复杂的条件判断。下面的示例演示了一个判断一个数是否为正数、负数或零的函数。
def check_number(number):
if number > 0:
return "正数"
elif number < 0:
return "负数"
else:
return "零"
在这个示例中,我们使用了if
、elif
(相当于其他语言中的else if
)和else
来实现多个条件的判断。如果number
大于0,则返回字符串"正数";如果number
小于0,则返回字符串"负数";如果number
等于0,则返回字符串"零"。
我们可以调用这个函数来测试它的功能:
print(check_number(5)) # 输出:"正数"
print(check_number(-2)) # 输出:"负数"
print(check_number(0)) # 输出:"零"
if
语句的扩展形式
除了基本的if
语句外,Python还提供了其他一些扩展形式,来满足更复杂的条件判断需求。
if-else
语句
if-else
语句是if
语句的扩展形式,它可以在条件为假的情况下执行另外一段代码块。
if 条件:
代码块1
else: