Python中的条件控制:if语句

在Python中,条件控制是编写程序时非常重要的一部分。条件控制语句可以根据一个或多个条件的结果,决定程序的执行流程。其中,最常用的条件控制语句就是if语句。if语句根据条件的真假执行不同的代码块。

if语句的基本形式

if语句的基本形式如下:

if 条件:
    代码块

如果条件为真,那么代码块中的代码将被执行。代码块由缩进标志,一般使用四个空格或一个制表符来表示。

Python中的True和False

在Python中,布尔类型(bool)有两个值:TrueFalseTrue表示条件为真,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 "零"

在这个示例中,我们使用了ifelif(相当于其他语言中的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: