Python条件语句深度解析:从基础到应用的全面指南

news2024/11/28 7:40:45

 

 🎬 江城开朗的豌豆:个人主页

 🔥 个人专栏 :《 VUE 》 《 javaScript 》

 📝 个人网站 :《 江城开朗的豌豆🫛 》 

⛺️ 生活的理想,就是为了理想的生活 !

在这里插入图片描述

目录

📘 一、引言

📝 二、Python条件语句基础

📝 三、逻辑运算符在条件语句中的应用

📟 1. 逻辑运算符的概述 

📟 2. 逻辑运算符在条件表达式中的使用 

📟 3. 逻辑运算符的优先级和结合性 

📝 四、嵌套条件语句

📝 五、条件语句的进阶用法

 📟 1. 使用条件语句处理列表

📟 2. 使用条件语句处理字典

📟 3. 在循环中使用条件语句

📟 4. 与函数和模块结合使用的条件语句 

📘 六、写到最后


📘 一、引言

        在Python编程中,条件语句是一种控制流语句,它允许程序根据特定的条件或表达式的结果(True或False)来决定执行哪一部分代码。条件语句在编程中扮演着至关重要的角色,它使得程序能够根据不同的情况做出不同的响应,从而实现了程序的灵活性和可定制性。

        Python中的条件语句主要通过ifelifelse关键字来实现。这些关键字用于构建条件判断结构,根据条件表达式的值来执行相应的代码块

📝 二、Python条件语句基础

if语句的语法和用法

        Python中,if语句用于基于某个条件来执行特定的代码块。如果条件为真(True),则执行if语句下的代码块;如果条件为假(False),则跳过该代码块,继续执行后面的代码(如果有的话)。

基本语法:

if 条件表达式:  
    # 当条件表达式为True时执行的代码块

        这里,“条件表达式”是一个返回布尔值(True或False)的表达式。当Python解释器遇到if语句时,它会计算条件表达式的值。如果值为True,它将执行紧随其后的缩进代码块。如果值为False,它将跳过该代码块。

 示例:

x = 10  
  
if x > 5:  
    print("x大于5")

在这个例子中,变量x被赋值为10。然后,if语句检查x > 5这个条件是否为真。因为10确实大于5,所以条件为真,因此会执行print("x大于5")这行代码,输出“x大于5”。 

if-else语句

如果你希望在条件为假时执行另一个代码块,你可以使用else子句。

基本语法:

if 条件表达式:  
    # 当条件表达式为True时执行的代码块  
else:  
    # 当条件表达式为False时执行的代码块

示例

x = 3  
  
if x > 5:  
    print("x大于5")  
else:  
    print("x不大于5")

 在这个例子中,因为x的值是3,不大于5,所以if语句的条件为假。因此,它会跳过if下的代码块,并执行else下的代码块,输出“x不大于5”。

📝 三、逻辑运算符在条件语句中的应用

        逻辑运算符在Python编程中起着至关重要的作用,它们允许我们组合多个条件表达式,以创建更复杂的逻辑判断。Python提供了三种基本的逻辑运算符:andornot

📟 1. 逻辑运算符的概述 
  • and:当且仅当两个条件都为True时,整个表达式的结果才为True
  • or:只要有一个条件为True,整个表达式的结果就为True
  • not:对单个条件取反,如果条件为True,则not后的结果为False;反之亦然。
📟 2. 逻辑运算符在条件表达式中的使用 

        逻辑运算符常用于条件表达式中,以构建复合条件。这些复合条件可以使我们的程序根据多个条件的状态来做出决策。

x = 5  
y = 10  
  
# 使用and运算符  
if x > 0 and y > 0:  
    print("x和y都是正数")  
  
# 使用or运算符  
if x == 5 or y == 5:  
    print("x或y等于5")  
  
# 使用not运算符  
if not x > y:  
    print("x不大于y")

       在上面的例子中,我们使用了and来检查xy是否都为正数;使用了or来检查xy是否等于5;使用了not来检查x是否不大于y。 

📟 3. 逻辑运算符的优先级和结合性 

         逻辑运算符具有不同的优先级,它们按照以下顺序从高到低排列:notandor。这意味着not运算符会首先被评估,然后是and,最后是or。如果表达式中包含相同优先级的运算符,那么它们会按照从左到右的顺序进行评估,这被称为运算符的结合性。

# 优先级和结合性示例  
result = not False and True or False  
# 等价于 (not False) and (True or False)  
# 即 True and True  
# 结果为 True

        在上面的例子中,not False首先被评估为True,然后TrueTrue进行and运算,最后的结果再与False进行or运算。由于andor具有不同的优先级,并且都是左结合的,因此表达式按照预期的顺序进行评估。

📝 四、嵌套条件语句

 嵌套条件语句的概念和必要性。

     嵌套条件语句是指在一个条件语句(ifelifelse)的内部再嵌套另一个或多个条件语句。这种结构允许我们在满足某个条件的情况下,再根据其他条件做出进一步的判断,从而实现更复杂的逻辑控制。

        嵌套条件语句的必要性主要体现在处理复杂逻辑时。当需要根据多个条件的不同组合来执行不同的操作时,嵌套条件语句能够非常有效地帮助我们实现这一目标。通过嵌套条件语句,我们可以构建出更加精细和灵活的逻辑控制结构,以满足不同场景下的需求

 嵌套条件语句的语法和示例 

x = 10  
y = 5  
  
if x > 5:  
    print("x大于5")  
    if y > 3:  
        print("同时y也大于3")  
    else:  
        print("但y不大于3")  
else:  
    print("x不大于5")

​​​​​​​📝 五、条件语句的进阶用法

         在Python编程中,条件语句(如ifelifelse)是非常基础且重要的控制结构。除了基本的使用方式,条件语句还可以与列表、字典、循环、函数和模块等高级Python特性结合使用,实现更复杂的逻辑和操作。

 📟 1. 使用条件语句处理列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
even_numbers = [num for num in numbers if num % 2 == 0]  
print(even_numbers)  # 输出: [2, 4, 6, 8, 10]
📟 2. 使用条件语句处理字典
my_dict = {'a': 1, 'b': 6, 'c': 3, 'd': 8, 'e': 2}  
for key, value in my_dict.items():  
    if value > 5:  
        print(f"{key}: {value}")  
# 输出:  
# b: 6  
# d: 8
📟 3. 在循环中使用条件语句
for i in range(10):  
    if i == 5:  
        break  
    print(i)  
# 输出: 0 1 2 3 4
📟 4. 与函数和模块结合使用的条件语句 
def function_a():  
    return "Function A called"  
  
def function_b():  
    return "Function B called"  
  
def main(choice):  
    if choice == 'a':  
        return function_a()  
    elif choice == 'b':  
        return function_b()  
    else:  
        return "Invalid choice"  
  
print(main('a'))  # 输出: Function A called  
print(main('b'))  # 输出: Function B called  
print(main('c'))  # 输出: Invalid choice

📘 六、写到最后

 请大家不吝赐教,在下方评论或者私信我,十分感谢🙏🙏🙏.

✅ 认为我某个部分的设计过于繁琐,有更加简单或者更高逼格的封装方式

✅ 认为我部分代码过于老旧,可以提供新的API或最新语法

✅ 对于文章中部分内容不理解

✅ 解答我文章中一些疑问

✅ 认为某些交互,功能需要优化,发现BUG

✅ 想要添加新功能,对于整体的设计,外观有更好的建议

最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Flutter】导航组件 NavigationRail 的用法简介

​​Material Design 3 定义了三种导航模式,其用法和对应的 Flutter 组件如下所示: MD3 导航Flutter 组件用途Navigation barBottomNavigationBar小型屏(宽度小于640)Navigation drawerDrawer大型屏(宽度大于960&…

Java基础 学习笔记四

标识符 标识符是在源代码中程序员自己有权利命名的单词标识符可以标识 变量名,方法名,类名 标识符命名规则 标识符只能由数字,字符(java支持所有国家语言),_, $ 组成,不能含有其他…

基于树莓派实现 --- 智能家居

最效果展示 演示视频链接:基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from333.999.0.0 (PS:房屋模型的搭建是靠纸板箱和淘宝买的家居模型,户型参考了留学时短租的公寓~&a…

软考高级:软件测试阶段概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

Linux课程____进程管理

记录工作日志 script 240319.log CTRLd 退出 cat 240319.log //查看 一、查看进程 1.静态 ps -aux ps -elf 2.动态 top 3.pgrep 查看特定条件的进程 pgrep -l “log” pgrep -l "ssh" pgrep -l -U redhat 4.pstree 查看进程树 pstree -aup 所有…

Flutter 在 Windows 下的开发环境搭建(Flutter SDK 3.19.2)【图文详细教程】

Git 下载与安装 对于 Flutter 3.19,Git 版本需要 2.27 及以上 Git 下载: Git 官网:https://git-scm.com/Git 下载淘宝镜像:https://registry.npmmirror.com/binary.html?pathgit-for-windows/ 对于 Git 的安装教程,…

Go 1.22 - 更加强大的 Go 执行跟踪

原文:Michael Knyszek - 2024.03.14 runtime/trace 包含了一款强大的工具,用于理解和排查 Go 程序。这个功能可以生成一段时间内每个 goroutine 的执行追踪。然后,你可以使用 go tool trace 命令(或者优秀的开源工具 gotraceui&a…

Unable to load host key: /etc/ssh/ssh_host_rsa_key

Unable to load host key: /etc/ssh/ssh_host_rsa_key 启动docker镜像时报错 Unable to load host key: /etc/ssh/ssh_host_rsa_key Unable to load host key: /etc/ssh/ssh_host_ecdsa_key Unable to load host key: /etc/ssh/ssh_host_ed25519_key sshd: no hostkeys availa…

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

什么是子网掩码、ip地址的网段?如何区分?

IP地址优化网写了很多相关的文章。 有些朋友对于子网掩码、IP地址网段等还不太了解,我们来看看网友经常问到的一些相关问题。 255.255.255.192 的位掩码是什么? 1.什么是子网掩码? 在了解IP地址的网段之前,我们先来了解一下子网…

【RabbitMQ | 第四篇】基于RabbitMQ实现延迟队列

文章目录 4.基于RabbitMQ实现延迟队列4.1延迟队列定义4.2基于DLX(死信交换机)实现延迟队列4.2.1实现思路4.2.2主要流程4.2.3实战(1)创建两个消息队列:原始消息队列、死信队列 and 为原始消息队列关联私信交换机&#x…

高精度AI火灾烟雾检测算法,助力打造更加安全的楼宇环境

一、方案背景 近日,南京居民楼火灾事故导致15人死亡的新闻闹得沸沸扬扬,这一事件又激起了大家对楼宇火灾隐患的进一步担忧。事后我们除了思考政府、消防及物业部门应对此事的解决办法,我们还应该思考如何利用现有的技术帮助人们减少此类事情的…

蓝桥杯模块综合——高质量讲解AT24C02,BS18B20,BS1302,AD/DA(PCF8591),超声波模块

AT24C02——就是一个存储的东西,可以给他写东西,掉电不丢失。 void EEPROM_Write(unsigned char * EEPROM_String,unsigned char addr , unsigned char num) {IIC_Start();IIC_SendByte(0xA0);IIC_WaitAck();IIC_SendByte(addr);IIC_WaitAck();while(nu…

非正向图片如何在OCR技术层面去解决?

在OCR(Optical Character Recognition,光学字符识别)技术中,非正向的图片一般是指倒过来或者没有固定版式的图片,要识别好这类图片确实是一个挑战。这类问题通常涉及到图像预处理、特征提取和识别算法等多个环节。以下…

SpringBoot项目前端Vue访问后端(图片静态资源) 配置

静态资源配置 Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Value("${file.save-path}")private String fileSavePath;Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {//映射本地文件夹registry…

python大学生健身爱好者交流网站flask-django-nodejs-php

任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于python技术、django/flask框架、B/S机构、Mysql数据…

每日一练:LeeCode-167. 两数之和 II - 输入有序数组【双指针】

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers.…

WanAndroid(鸿蒙版)开发的第六篇

前言 DevEco Studio版本&#xff1a;4.0.0.600 WanAndroid的API链接&#xff1a;玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考&#xff1a; 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …

自然语言处理学习总结

目录 1、词表示 2、语言模型&#xff08;LM&#xff09; 3、常用学习网址 自然语言处理 1、词表示 词表示&#xff1a;自然语言中最基本的语言单位表示成机器理解的方式 方式一&#xff1a;词与词之间的相似度 方式二&#xff1a;词与词之间的关系 词义的表示方法&…

Linux 服务升级:MySQL 主从(半同步复制) 平滑升级

目录 一、实验 1.环境 2.Mysql-shell 检查工具兼容性 3.逻辑备份MySQL数据 4.备份MySQL 数据目录、安装目录、配置文件 5.MySQL 升级 6.master节点 使用systemd管理mysql8 7. slave1 节点升级 8. slave2 节点升级 9.半同步设置 二、问题 1.mysqldump备份报错 2.Inn…