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

🎬 江城开朗的豌豆:个人主页
🔥 个人专栏 :《 VUE 》 《 javaScript 》
📝 个人网站 :《 江城开朗的豌豆🫛 》
⛺️ 生活的理想,就是为了理想的生活 !

目录
📘 一、引言
📝 二、Python条件语句基础
📝 三、逻辑运算符在条件语句中的应用
📟 1. 逻辑运算符的概述
📟 2. 逻辑运算符在条件表达式中的使用
📟 3. 逻辑运算符的优先级和结合性
📝 四、嵌套条件语句
📝 五、条件语句的进阶用法
📟 1. 使用条件语句处理列表
📟 2. 使用条件语句处理字典
📟 3. 在循环中使用条件语句
📟 4. 与函数和模块结合使用的条件语句
📘 六、写到最后
📘 一、引言
在Python编程中,条件语句是一种控制流语句,它允许程序根据特定的条件或表达式的结果(True或False)来决定执行哪一部分代码。条件语句在编程中扮演着至关重要的角色,它使得程序能够根据不同的情况做出不同的响应,从而实现了程序的灵活性和可定制性。
Python中的条件语句主要通过
if、elif和else关键字来实现。这些关键字用于构建条件判断结构,根据条件表达式的值来执行相应的代码块
📝 二、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提供了三种基本的逻辑运算符:
and、or和not。
📟 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来检查x和y是否都为正数;使用了or来检查x或y是否等于5;使用了not来检查x是否不大于y。
📟 3. 逻辑运算符的优先级和结合性
逻辑运算符具有不同的优先级,它们按照以下顺序从高到低排列:
not、and、or。这意味着not运算符会首先被评估,然后是and,最后是or。如果表达式中包含相同优先级的运算符,那么它们会按照从左到右的顺序进行评估,这被称为运算符的结合性。
# 优先级和结合性示例
result = not False and True or False
# 等价于 (not False) and (True or False)
# 即 True and True
# 结果为 True
在上面的例子中,
not False首先被评估为True,然后True与True进行and运算,最后的结果再与False进行or运算。由于and和or具有不同的优先级,并且都是左结合的,因此表达式按照预期的顺序进行评估。
📝 四、嵌套条件语句
嵌套条件语句的概念和必要性。
嵌套条件语句是指在一个条件语句(
if、elif、else)的内部再嵌套另一个或多个条件语句。这种结构允许我们在满足某个条件的情况下,再根据其他条件做出进一步的判断,从而实现更复杂的逻辑控制。嵌套条件语句的必要性主要体现在处理复杂逻辑时。当需要根据多个条件的不同组合来执行不同的操作时,嵌套条件语句能够非常有效地帮助我们实现这一目标。通过嵌套条件语句,我们可以构建出更加精细和灵活的逻辑控制结构,以满足不同场景下的需求
嵌套条件语句的语法和示例
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编程中,条件语句(如
if,elif,else)是非常基础且重要的控制结构。除了基本的使用方式,条件语句还可以与列表、字典、循环、函数和模块等高级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
✅ 想要添加新功能,对于整体的设计,外观有更好的建议
最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!

相关文章:
Python条件语句深度解析:从基础到应用的全面指南
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 一、引言 📝 二、…...
【leetcode热题】 地下城游戏
恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0…...
Centos7安装ffmpeg
Centos7安装ffmpeg 用到的包压缩并安装 用到的包 压缩并安装 tar xvJf ffmpeg-5.0.1.tar.xz yum install -y gcctar -zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make && make install yasm --versionyum install -y bzip2tar jxvf nasm-2.14.02.tar.bz2 cd n…...
安卓面试题多线程 81-85
81. 共享变量在多线程下如何保证线程安全?因为多线程是交替执⾏,每个线程操作共享变量时可能会导致数据不⼀致,要确保线程 安全,需要在访问共享变量时添加同步机制。当然,如果这个变量本⾝是线程安全的,⽐如AtomicLong,那么多线程访问也是安全 的🚀🚀🚀🚀🚀�…...
Java基础知识总结(8)
StringBuilder类(是线程不安全的) StringBuffer 和 StringBuilder二者及其相似,下面是构造方法: StringBuilder StringBuilder()创建空对象,空的字符序列 StringBuilder StringBuilder(StringBuilder builder)传入对象创造字符序列 Strin…...
C++基础入门(命名空间,函数,引用)
文章目录 前言1,命名空间2,函数函数重载缺省参数内联函数 3,引用尾声 前言 欢迎来到这篇关于C的入门博客!C是一门强大而又广泛应用的编程语言,作为一门面向对象的编程语言,C可以让你更好地组织和管理代码,提高代码的重用性和可维…...
【译】矢量数据库 101 - 什么是矢量数据库?
原文地址:Vector Database 101 - What is a Vector Database? 1. 简介 大家好——欢迎回到 Milvus 教程。在上一教程中,我们快速浏览了每天产生的日益增长的数据量。然后,我们介绍了如何将这些数据分成结构化/半结构化数据和非结构化数据&…...
Python Web开发记录 Day12:Django part6 用户登录
名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡《竹枝词》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、登录界面2、用户名密码校验3、cookie与session配置①cookie与session②配置4、登录验证5、注销登录6、图片验证码①Pillow库②图片验证码的…...
SpringTask实现的任务调度与XXL-job实现的分布式任务调度【XXL-Job工作原理】
目录 任务调度 分布式任务调度 分布式任务调度存在的问题以及解决方案 使用SpringTask实现单体服务的任务调度 XXL-job分布式任务调度系统工作原理 XXL-job系统组成 XXL-job工作原理 使用XXL-job实现分布式任务调度 配置调度中心XXL-job 登录调度中心创建执行器和任务 …...
【java】图书管理系统
有了前几篇文章关于封装、继承、多态、接口等的介绍,想必各位读者对java面向对象的思想有了一定的认识。接下来这篇文章就让我们趁热打铁,利用所学知识做一个小项目图书管理系统吧 目录 一、图书类 1、book类 2、bookList类 二、功能实现 1、IOpera…...
C#实现约瑟夫环算法
目录 1.约瑟夫环定义 2.约瑟夫环算法实现需要注意的地方 3.通过一个例子来演示这个过程 4.三人的约瑟夫环示例 4.十二人的约瑟夫环示例 1.约瑟夫环定义 约瑟夫环即设有n个人坐成一个圈,从某个人开始报数,数到m的人出列,接着从出列的下一…...
游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
游戏服务端配置“热更”及“秒启动”终极方案 ygluu 卢益贵 关键词:游戏微服务架构、游戏服务端热更、模块化解耦、golang 目录 一、前言 二、异步线程加载/重载方案 三、配置表碎片化方案 四、指针间接引用 五、重载通知 六、示例代码 七、相关连接 一、…...
鸿蒙开发的入门
鸿蒙开发的入门 注册并实名认证华为开发者账户 华为官网 注册 有账户可以直接登录 并进行实名认证 下载并安装开发工具 鸿蒙开发使用的语言 java js c/c 仓颉 手机app java 硬件 c/c 应用开发工具的下载地址 Windows(64-bit) 下载地址 程序的运行过程 解析config.j…...
为什么要减少Http的请求以及如何减少Http请求
为什么要减少Http的请求 减少 HTTP 请求的数量是优化网页性能的一个重要策略,原因有以下几点: 1.延迟:每个 HTTP 请求都会有一定的网络延迟。即使数据量很小,请求和响应的往返时间也可能相当长,特别是在网络条件不好…...
Linux性能测试工具整理
性能测试工具:Unixbench lmbench stream iozone fio netperf spec2000 spec2006 一、unixbench unixbench主要是用于系统基础性能测试,unixbench也包含一些非常简单的2D和3D图形测试 UnixBench一个基于系统的基准测试工具,不单纯是CPU 内存 …...
前端路由history路由和hash路由的区别?原理?
前端路由是指在单页应用程序(SPA)中通过改变 URL 路径来实现页面切换和导航的机制。在前端开发中,有两种主要的前端路由实现方式:基于 History API 的路由(history-based routing)和基于哈希(Ha…...
AcWing 727. 菱形——像拼图一样做题
题目描述] 分析: 利用程序根据输入的整数,画出由字符*构成的该整数阶的实心菱形。给出一个示例: n 7 n7 n7。 * * * * * * * * * * * * * * * * * * * * * * * * * 我们将采取拆解问题,通过四个部分的…...
深入理解生成型大型语言模型:自监督预训练、细调与对齐过程及其应用
分析概述 本文主要介绍了生成型大型语言模型(LLM)的预训练过程,特别是通过下一个令牌(token)预测的自监督学习方法,以及后续的细调(finetuning)和对齐(alignment&#x…...
个人简历主页搭建系列-03:Hexo+Github Pages 介绍,框架配置
今天的更新内容主要是了解为什么选择这个网站搭建方案,以及一些前置软件的安装。 Why Hexo? 首先我们了解一下几种简单的网站框架搭建方案,看看对于搭建简历网站的需求哪个更合适。 在 BuiltWith(网站技术分析工具)上我们可以…...
【堆、位运算、数学】算法例题
目录 十九、堆 121. 数组中的第K个最大元素 ② 122. IPO ③ 123. 查找和最小的K对数字 ② 124. 数据流的中位数 ③ 二十、位运算 125. 二进制求和 ① 126. 颠倒二进制位 ① 127. 位1的个数 ① 128. 只出现一次的数字 ① 129. 只出现一次的数字 II ② 130. 数字范围…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...


