14.从入门到精通:Python条件控制 if 语句 if 嵌套

简介: 14.从入门到精通:Python条件控制 if 语句 if 嵌套

Python条件控制

if 语句

if语句是Python中最基本的条件语句之一,通常用于根据条件执行不同的代码块

if语句的一般形式如下:

if condition:
    # 如果条件为真,则执行这里的代码块
else:
    # 如果条件为假,则执行这里的代码块

其中,condition是一个布尔表达式,它的值为True或False。如果condition为True,则执行if语句块中的代码;否则执行else语句块中的代码。

在Python中,if语句可以包含多个elif子句,用于测试多个条件。

elif子句的一般形式如下:

if condition1:
    # 如果条件1为真,则执行这里的代码块
elif condition2:
    # 如果条件2为真,则执行这里的代码块
elif condition3:
    # 如果条件3为真,则执行这里的代码块
else:
    # 如果所有条件都为假,则执行这里的代码块

在这个例子中,如果condition1为True,则执行第一个代码块;否则,如果condition2为True,则执行第二个代码块;以此类推,直到最后一个else语句块。

在Python中,if语句可以嵌套,也就是说,在if语句块中可以包含另一个if语句块。例如:

if condition1:
    if condition2:
        # 如果两个条件都为真,则执行这里的代码块
    else:
        # 如果第一个条件为真,但第二个条件为假,则执行这里的代码块
else:
    # 如果第一个条件为假,则执行这里的代码块

在这个例子中,如果condition1为True,则继续测试condition2。如果condition2也为True,则执行第一个代码块;否则,执行else语句块。

总之,if语句是Python中最常用的条件语句之一,可以根据条件执行不同的代码块,使程序具有更好的灵活性和适应性。


if 嵌套

在Python中,可以使用if语句嵌套来实现更复杂的条件控制。if语句嵌套是指在if语句中嵌套另一个if语句,以此类推。它可以用于检测多个条件,根据不同的条件执行不同的代码块。

if语句嵌套的语法如下:

if condition1:
    if condition2:
        statement(s)
    else:
        statement(s)
else:
    statement(s)

其中,condition1和condition2是要检测的条件,statement(s)是要执行的语句块。如果condition1为真,则检测condition2,如果condition2为真,则执行if语句块中的代码,否则执行else语句块中的代码。如果condition1为假,则执行else语句块中的代码。

示例代码

x = 10
y = 5
if x > 0:
    if y > 0:
        print("x and y are both positive")
    else:
        print("x is positive but y is non-positive")
else:
    print("x is non-positive")

输出结果:

x and y are both positive

需要注意的是,if语句嵌套可以无限嵌套,但是过多的嵌套会使代码难以理解和维护,因此应该尽量避免过多的嵌套。


match…case

match…case是Python 3.10中引入的一种新的条件语句,用于替代旧的switch…case语句。match…case语句的一般形式如下:

match <value>:
    case <pattern1>:
        # 如果<value>与<pattern1>匹配,则执行这里的代码块
    case <pattern2>:
        # 如果<value>与<pattern2>匹配,则执行这里的代码块
    ...
    case <patternN>:
        # 如果<value>与<patternN>匹配,则执行这里的代码块
    case _:
        # 如果<value>与所有模式都不匹配,则执行这里的代码块

其中,是要匹配的值,是一种模式,用于匹配。如果与某个匹配,则执行相应的代码块;否则,继续测试下一个,直到找到匹配的模式或者执行最后一个case _:语句块。

下面是一个示例,演示如何使用match…case语句:

def get_day_of_week(day):
    match day:
        case "Monday":
            return 1
        case "Tuesday":
            return 2
        case "Wednesday":
            return 3
        case "Thursday":
            return 4
        case "Friday":
            return 5
        case "Saturday":
            return 6
        case "Sunday":
            return 7
        case _:
            raise ValueError("Invalid day of week")

在这个例子中,get_day_of_week()函数使用match…case语句将字符串类型的星期几转换为数字类型的星期几。如果输入的字符串不是有效的星期几,则抛出一个ValueError异常。


总之,match…case语句是Python 3.10中引入的一种新的条件语句,可以替代旧的switch…case语句,使代码更加简洁和易读。


相关文章
|
3天前
|
缓存 测试技术 Python
Python 中的装饰器:从入门到实践
【9月更文挑战第3天】本文将引导你理解 Python 中装饰器的概念,并通过实际代码示例展示如何创建和使用装饰器。我们将从基础出发,逐步深入到装饰器的高级应用,让你能够轻松掌握这一强大的工具。
|
1天前
|
Python
Python中的装饰器:从入门到精通
【9月更文挑战第5天】在Python的世界里,装饰器是那些让代码更加优雅、简洁的秘密武器。它们就像是程序的化妆师,给函数或类涂上魔法,使其功能大增。本文将带你领略装饰器的魅力,从基础概念到高级用法一网打尽。
|
1天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到精通
【9月更文挑战第5天】本文将带你进入Python编程的世界,无论你是编程新手还是有一定基础的开发者,都可以通过本文快速掌握Python编程的基础知识和技能。我们将从Python的基本语法开始,逐步深入到面向对象编程、文件操作、网络编程等高级主题,最后还将介绍一些实用的Python库和框架,帮助你在实际项目中应用Python编程。通过阅读本文,你将能够编写出高效、简洁的Python代码,解决实际问题。
|
2天前
|
算法 程序员 Linux
Python编程入门:构建你的第一个程序
【9月更文挑战第4天】编程是现代技术发展的基石,而Python作为一门简洁、易学且功能强大的编程语言,已成为众多初学者的首选。本文将引导你通过一个简单的Python程序,探索编程世界的奥秘,并了解如何利用Python实现基本的算法逻辑。无论你是完全的新手还是希望巩固基础的开发者,这篇文章都将为你提供一个清晰的学习路径。从安装Python环境开始,到编写第一个程序,我们将一步步揭开编程的神秘面纱。
|
2天前
|
Python
Python中的装饰器:从入门到精通
【9月更文挑战第4天】本文将带你走进Python装饰器的神秘世界,从基础概念到高级应用一网打尽。你将学会如何用装饰器包装你的函数和类,以及它们背后的魔法原理。准备好了吗?让我们开始吧!
|
2天前
|
存储 Python
Python编程入门:从零开始的代码之旅
【9月更文挑战第4天】本文将带领初学者步入Python的世界,通过简明的语言和直观的例子,逐步揭示编程的乐趣。我们将一起构建基础的数据结构,探索控制语句的奥秘,并实现简单的函数。无论你是编程新手还是希望巩固基础,这篇文章都是你理想的起点。让我们开始吧,一步步将代码块搭建成思维的宫殿!
14 2
|
6天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
【8月更文挑战第33天】本文旨在通过浅显易懂的语言,带领读者了解Python中一个强大而神秘的功能——装饰器。我们将从装饰器的基本概念出发,逐步深入到它们的高级应用,最后通过实际代码示例展示如何在日常编程中灵活运用装饰器来简化代码、增强功能。文章不仅适合初学者构建对装饰器的初步认识,也适合有一定基础的开发者深化理解并实践。
18 5
|
5天前
|
机器学习/深度学习 数据挖掘 Python
深入浅出:Python编程入门与实践
【9月更文挑战第2天】本文旨在为初学者提供一份简明扼要的Python编程入门指南,通过浅显易懂的语言和实际代码示例,引导读者步入编程世界的大门。我们将从Python的基本语法入手,逐步深入到函数、模块以及面向对象编程的概念,并结合具体案例,展示如何将理论知识应用于解决实际问题。文章不仅适合零基础的初学者,也能帮助有一定基础的学习者巩固和提升编程技能。
|
6天前
|
机器学习/深度学习 算法 数据挖掘
|
7天前
|
数据采集 JavaScript 前端开发
构建简易Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字信息的时代,数据抓取成为获取网络资源的重要手段。本文将引导你通过Python编写一个简单的网页爬虫,从零基础到实现数据抓取的全过程。我们将一起探索如何利用Python的requests库进行网络请求,使用BeautifulSoup库解析HTML文档,并最终提取出有价值的数据。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开数据抓取的大门。
下一篇
DDNS