系统整理Python的条件语句和常用方法

Python 的条件语句(if 语句)是控制程序流程的基础之一,结构清晰、语法简洁,非常适合初学者掌握。

一、基本语法结构

if 条件:执行代码块1
elif 条件2:执行代码块2
else:执行代码块3

示例:

score = 85if score >= 90:print("优秀")
elif score >= 60:print("及格")
else:print("不及格")

二、条件表达式的写法(支持各种比较)

表达式

含义

a == b

等于

a != b

不等于

a > b, a < b

大于 / 小于

a >= b, a <= b

大于等于 / 小于等于

a in list

a 是否在列表中

a not in list

a 不在列表中

x is y, x is not y

判断对象是否相同(同一地址)

bool(变量)

判断变量是否为真(非空、非0等)

三、简洁写法:单行 if 和三元表达式

1. 单行 if:

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

2. 三元表达式(类似 Java 的 ? :):

result = "及格" if score >= 60 else "不及格"

四、逻辑运算符(可组合条件)

关键字

说明

and

且,两个条件都为真

or

或,只要一个为真即可

not

非,逻辑取反

示例:

age = 20
gender = "male"if age > 18 and gender == "male":print("成年男性")

五、常用技巧

1. 判断多个值

if fruit in ("apple", "banana", "orange"):print("是常见水果")

2. 空值判断(None、空字符串、空列表等)

name = ""
if not name:print("名字不能为空")

3. 使用 match(Python 3.10+ 新增结构化匹配)

command = "start"match command:case "start":print("启动中")case "stop":print("停止中")case _:print("未知命令")

六、布尔类型与隐式转换

在条件判断中,以下值会被视为 False:

  • None
  • False
  • 0、0.0
  • 空字符串 ""
  • 空列表 []、空元组 ()、空字典 {}、空集合 set()
if not []:print("这是个空列表")  # 会执行

七、嵌套条件判断

if score >= 60:if score >= 90:print("优秀")else:print("及格")
else:print("不及格")

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

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

相关文章

记录个IAR程序下载后硬件复位不运行,必须断电复位才运行的问题

【问题测试】有个F407的跑马灯的例子&#xff0c;是MDK和IAR两个版本&#xff0c;MDK版本的例子下载并复位后可以正常看到LED闪烁&#xff0c;而IAR的例子下进去后&#xff0c;不会闪烁。使用TOOL的上位机内核寄存器监测工具测试发现&#xff0c;硬件复位后竟然还在调试状态&am…

观察者模式(Observer Pattern)和 发布-订阅模式(Publisher-Subscriber Pattern)

你对 观察者模式&#xff08;Observer Pattern&#xff09;和 发布-订阅模式&#xff08;Publisher-Subscriber Pattern&#xff09;的描述是非常准确的&#xff0c;并且阐明了它们的核心区别。为了帮助你更好地理解这两者的细微差异&#xff0c;下面是一个更详细的对比分析&am…

2025年接口技术的十字路口:当MCP遇见REST、GraphQL与gRPC

在当今这个由数据驱动、万物互联的时代&#xff0c;应用程序接口&#xff08;API&#xff09;已成为现代软件架构的基石。它们是不同服务之间沟通的桥梁&#xff0c;支撑着从网页应用到复杂的微服务生态系统的一切。长久以来&#xff0c;开发者们在REST、GraphQL和gRPC这几种主…

【CTF-WEB-反序列化】利用__toString魔术方法读取flag.php

题目 页面提示输入?code&#xff0c;那我们在网址里get一下出现了新页面的提示&#xff0c;进入看看下面有个help.php页面的提示&#xff0c;进入看看有一段php代码&#xff0c;仔细分析&#xff0c;应该是要用反序列法代码如下 class FileClass{ public $filename error.log…

在 github.com 与 sourceforge.net 上创建免费个人静态网站、博客的区别

github.com github 属于 git 版本管理专业网站&#xff0c;有免费和收费两种套餐。git 的数据是存放在数据库中的&#xff0c;要将数据库中的数据显示为网站的网页&#xff0c;这需要服务器端提供专门的中间件支持才能实现。 特点&#xff1a; 官方支持&#xff1a;提供长期…

jenkins 入门指南:从安装到启动的完整教程

jenkins 入门指南&#xff1a;从安装到启动的完整教程 持续集成&#xff08;CI&#xff09;是现代开发流程中的核心环节&#xff0c;而 Jenkins 作为一款开源的 CI 工具&#xff0c;凭借简单安装、开箱即用、插件丰富、易于扩展等优势&#xff0c;成为开发者的首选工具。它能自…

机器学习(重学版)基础篇(概念与评估)

本篇参考周志华老师的西瓜书&#xff0c;但是本人学识有限仅能理解皮毛&#xff0c;如有错误诚请读友评论区指正&#xff0c;万分感谢。一、基础概念与评估方法本节目标&#xff1a;建立理论基础框架​1、机器学习定义机器学习是一门通过计算手段利用经验&#xff08;以数据形式…

spring/springboot SPI(二)配合使用的接口

spring.factories 里&#xff0c;Spring 会根据接口来加载实现类&#xff0c;常见的几个接口包括&#xff1a;一、org.springframework.context.ApplicationListener1、作用监听 Spring 容器事件&#xff0c;如 ApplicationReadyEvent。2、使用方法项目结构Spring Boot 2.xSpri…

基于Zig语言,opencv相关的c++程序静态交叉编译

一、写在前面 1.什么是zig? Zig 是一种通用编程语言&#xff1b; Zig 最初的定位就是代替C语言的系统级语言&#xff0c;它提供了与 C 语言几乎 100% 兼容&#xff08;可直接调用 C 头文件、链接 C 库&#xff09;&#xff0c;同时不需要任何依赖构建系统。 Zig 同时附带一…

基于 LSTM 与 SVM 融合的时间序列预测模型:理论框架与协同机制—实践算法(1)

目录 1、单一模型的局限性&#xff1a;混合架构的设计动机 2、LSTM 的时序特征提取&#xff1a;从原始序列到高阶表征 2.1、门控机制的时序过滤能力 2.2、隐藏状态的特征压缩作用 2.3、预训练的特征优化逻辑 3、SVM 的非线性映射&#xff1a;从高阶特征到预测输出 3.1、…

如何查看docker实例是否挂载目录,以及挂载了哪些目录

一条命令即可一次性列出当前容器里所有挂载点&#xff1a; docker inspect <容器ID或名称> --format{{range .Mounts}}{{printf "%-8s %-35s -> %s\n" .Type .Source .Destination}}{{end}}示例输出&#xff1a; bind /host/owrt/src …

Opentrons 模块化平台与AI技术助力智能移液创新,赋能AAW™自动化工作站

在生命科学领域加速拥抱自动化的关键节点&#xff0c;全球开源实验室自动化领导者 Opentrons 携手全球领先生命科学公司默克生命科学&#xff0c;重磅推出 AAW™智能自动化液体处理平台。这一战略合作的核心技术引擎 ——Opentrons Flex 第三代全自动移液工作站&#xff0c;正以…

C++学习笔记(八:函数与变量)

往篇内容&#xff1a; C学习笔记&#xff08;一&#xff09; 一、C编译阶段※ 二、入门案例解析 三、命名空间详解 四、C程序结构 C学习笔记&#xff08;二&#xff09; 五、函数基础 六、标识符 七、数据类型 补充&#xff1a;二进制相关的概念 sizeof 运算符简介 补…

智慧施工:施工流程可视化管理系统

图扑智慧施工全流程可视化管理系统&#xff0c;通过可视化界面&#xff0c;可直观掌握各工序衔接进度、资源调配情况&#xff0c;快速识别违规作业、设备故障等风险点 —— 如塔吊运行半径重叠、深基坑支护位移预警等。同时&#xff0c;系统支持施工方案模拟推演&#xff0c;对…

单链表的冒泡排序实现:从原理到代码详解

单链表的冒泡排序实现&#xff1a;从原理到代码详解 引言 单链表作为一种常见的数据结构&#xff0c;其排序操作因节点无法随机访问&#xff08;需通过指针遍历&#xff09;而与数组排序存在差异。冒泡排序因其实现简单、无需额外空间&#xff08;仅需指针操作&#xff09;&…

如何在 Ubuntu 24.04 或 22.04 上安装和使用 GDebi

APT 是 Ubuntu 上安装需要外部依赖项的 Debian 包的一种方式,但还有另一种选择,即 GDebi。本文将介绍如何在 Ubuntu 24.04 上安装 GDebi,以及如何使用它来安装 .deb 包所需的依赖项。 什么是 GDebi? GDebi 是默认的 .deb 包安装器 DPKG 的轻量级替代品。与 DPKG 不同,GD…

俄罗斯方块游戏开发(面向对象编程)

摘要本设计基于MATLAB面向对象编程技术&#xff0c;开发了一款具备完整游戏逻辑的俄罗斯方块游戏。通过类封装实现游戏核心模块&#xff08;方块管理、游戏板状态、碰撞检测等&#xff09;&#xff0c;采用旋转矩阵实现方块变形&#xff0c;结合MATLAB图形用户界面&#xff08;…

背包DP之多重背包

背包DP之多重背包一、多重背包基础认知1.1 问题定义1.2 核心特征二、基础解法&#xff1a;暴力拆分2.1 核心思路2.2 代码实现2.3 局限性分析三、优化解法&#xff1a;二进制拆分3.1 优化原理3.2 拆分步骤3.3 代码实现3.4 复杂度分析四、二进制拆分过程五、多重背包的变种与应用…

Ansible 变量指南:声明、优先级、作用域与最佳实践(一)

Ansible 变量的声明 前言 全面理解 Ansible 变量是编写高效、可维护 Playbook 的关键。由于最近使用 Ansible 比较多&#xff0c;在变量问题上踩了不少坑&#xff0c;也因此对变量的声明&#xff0c;优先级和作用域有了更深的理解。姑且总结一下&#xff0c;分享给大家&#…

[极客大挑战 2019]FinalSQL--布尔盲注

直接看题可以看到题目给了提示盲注&#xff01;那么接下来就是寻找注入点了&#xff01;那么不能发现注入点就是id了&#xff01;注入类型为数值型注入&#xff01;这里直接尝试盲注。但是这里and被过滤了&&也不行。问了几个师傅说用or&#xff0c;但是空格被过滤了&am…