news 2026/9/9 15:10:02

第4章 Python 条件判断 if / elif / else

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第4章 Python 条件判断 if / elif / else

第4章 Python 条件判断 if / elif / else

程序之所以叫"程序",一大半是因为它会"看情况办事":分数够不够、用户有没有权限、数据空不空……Python 的条件判断写起来很直白——if 条件:后面加冒号,缩进就是代码块。没有大括号,靠缩进说话。

一、基本结构 if / elif / else

defcheck_score(score):ifscore>=90:grade="优秀"elifscore>=75:grade="良好"elifscore>=60:grade="及格"else:grade="不及格"returngradeforsin[95,80,61,45]:print(f"分数{s}->{check_score(s)}")

输出:

分数 95 -> 优秀 分数 80 -> 良好 分数 61 -> 及格 分数 45 -> 不及格

要点:

  • 条件后面必须有冒号:
  • 代码块靠缩进区分(一般 4 个空格),Python 里缩进错了直接报错或语义全变;
  • elifelse if的缩写,可以连写多个,从上往下第一个满足就执行,后面的不再判断。

二、逻辑组合:and / or / not

Java 用&& || !,Python 用单词and or not

age=20has_id=Trueifage>=18andhas_id:print("可以进入网吧")else:print("禁止进入")

输出:

可以进入网吧

and(且)、or(或)、not(取反)和 Java 一样有短路特性:and左边为 False 就不会再算右边。

三、三元表达式:一行 if

简单的"二选一赋值",Python 的写法是:

x=5result="偶数"ifx%2==0else"奇数"print(f"{x}{result}")

输出:

5 是奇数

值A if 条件 else 值B——条件成立取 A,否则取 B。比 Java 的条件 ? A : B更接近自然语言。

四、判断空值:Python 的隐式真假

Python 里很多值可以直接当布尔用(“真值/假值”):空字符串、空列表、None、0 都是"假":

data=[]ifnotdata:print("data 是空的")name=""ifname:print("name 有值")else:print("name 是空字符串")

输出:

data 是空的 name 是空字符串

所以判断列表空不空不用写len(data) == 0,直接if not data:就行——这是 Python 非常地道的写法。但要小心00.0、空字符串都是假值,如果某变量"合法取值就是 0",别用if x:判断"有没有值",要用if x is not None:

五、成员判断:in / not in

fruits=["苹果","香蕉","橘子"]print("苹果 in fruits:","苹果"infruits)if"西瓜"notinfruits:print("没有西瓜")

输出:

苹果 in fruits: True 没有西瓜

in不只用于列表,字典里判断"键是否存在"("key" in dict)也用它,比 Java 的containsKey顺口得多。

六、本章小结

  • 结构:if 条件: / elif 条件: / else:缩进定代码块,冒号不能省;
  • 组合:and / or / not,短路特性和 Java 一样;
  • 三元:A if 条件 else B
  • 空值判断用隐式真假:if not data:最地道;
  • in / not in判成员,列表字典通用;
  • 连续判断从左到右,命中即停(elif 链)。

下一篇:第5章 Python 循环 for / while

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 15:09:40

软考高项案例分析:合同管理万金油公式与答题技巧

备考信息系统项目管理师的朋友,我把话放这儿:案例分析这一科,你把合同管理吃透了,等于白捡五到十分,而且基本是每年稳定出现。我见过太多人吭哧吭哧背进度、算成本、画网络图,结果一到考场上遇到合同管理的…

作者头像 李华
网站建设 2026/9/9 15:09:17

hermes-webui Docker Compose 部署:三个容器,一条命令全部跑通

hermes-webui Docker Compose 部署:三个容器,一条命令全部跑通 【免费下载链接】hermes-webui Hermes WebUI: The best way to use Hermes Agent from the web or from your phone! 项目地址: https://gitcode.com/GitHub_Trending/he/hermes-webui …

作者头像 李华
网站建设 2026/9/9 15:08:48

WSA 一键安装:Install.ps1 的 5 件脏活

WSA 一键安装:Install.ps1 的 5 件脏活 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built …

作者头像 李华
网站建设 2026/9/9 15:07:31

2026龙岩化工产品成分分析检测排名 TOP5 CMA 资质提供含量检测、纯度检测、元素分析 联系方式推荐

龙岩的化工产品成分分析检测市场,机构林立、参差不齐。化工企业、新材料厂商、日化生产工厂、橡塑制造业乃至食品医药企业的研发质检部门,若盲目筛选,极易撞上无正规资质的检测机构,其出具的成分分析报告形同废纸,毫无…

作者头像 李华
网站建设 2026/9/9 15:05:49

晟矽微MCU开发实战:从SDK解压到IIC例程移植与调试

简介:一份面向晟矽微MC30P6070开发与红外解码学习者的完整资料包,整合了芯片数据手册、6070开发环境工具与丰富例程,涵盖从外设配置到红外遥控解码的典型应用场景,适合嵌入式初学者和需要快速上手该型号MCU的工程师查阅。压缩包共…

作者头像 李华
网站建设 2026/9/9 15:04:38

Android岗位能力模型:Handler、Binder与性能优化解析

干了这么多年Android开发,我面试过不少人,也被面过不少次。有个现象特别普遍:很多人简历上写着“熟悉Android四大组件”,结果一问Handler和Looper,只能背两句概念;一聊到AMS、Binder,就开始支支…

作者头像 李华