当前位置: 首页 > news >正文

Python 中 if 和 else 基础知识的详解和使用

一、基本语法结构

if 条件1:# 条件1 为真时执行的代码块
elif 条件2:# 条件1 不成立,条件2 成立时执行
else:# 所有条件都不成立时执行

注意:

  • elif 是“else if”的缩写,可以有多个;
  • else 可省略;
  • 条件表达式必须是可以返回布尔值的语句(True 或 False);
  • Python 使用 缩进 表示代码块,通常是 4个空格

二、常见条件表达式

表达式含义
x == y等于
x != y不等于
x > y, x < y大于 / 小于
x >= y, x <= y大于等于 / 小于等于
a and ba 和 b 同时为 True
a or ba 或 b 有一个为 True
not aa 为 False 时结果为 True
x in yx 是 y 的成员(字符串、列表等)

三、示例代码

示例 1:基本判断

x = 10
if x > 0:print("x 是正数")
else:print("x 是非正数")

示例 2:多分支判断(if-elif-else

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

示例 3:嵌套 if

x = 5
if x > 0:if x % 2 == 0:print("x 是正偶数")else:print("x 是正奇数")

示例 4:简洁的单行写法(推荐用于非常简单的判断)

x = 10
print("x 是正数" if x > 0 else "x 是非正数")

四、注意事项

  1. 缩进必须正确
    Python 使用缩进来标识代码块,错误的缩进会直接报错。

    ✅ 正确:

    if x > 0:print("OK")
    

    ❌ 错误(缩进不一致):

    if x > 0:
    print("OK")  # IndentationError
    
  2. 布尔表达式不加 == True 等冗余判断
    ❌ 多余:

    if is_valid == True:
    

    推荐写法:

    if is_valid:
    
  3. 空容器(如 [], {}, '')和数字 0 被当作 False

    if not []:print("空列表也会进入这里")
    
  4. is== 区别

    • == 比较值是否相等;
    • is 比较的是两个对象是否是同一个内存地址(标识符)。

五、实战小练习:判断年份是否为闰年

def is_leap(year):if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):return Trueelse:return Falseprint(is_leap(2024))  # 输出 True

六、可选扩展:match-case(Python 3.10+)

从 Python 3.10 起,你还可以使用类似 switch 的结构:

def handle_command(cmd):match cmd:case "start":print("Starting...")case "stop":print("Stopping...")case _:print("Unknown command")handle_command("start")
http://www.xdnf.cn/news/516997.html

相关文章:

  • 中级统计师-统计学基础知识-第四章 假设检验
  • 【老马】离线版金融敏感信息加解密组件开源项目 encryption-local
  • python打卡day29
  • spark数据处理练习题详解【下】
  • 【simulink】IEEE33节点系统潮流分析模型
  • 2025年全国青少年信息素养大赛C++小学全年级初赛试题
  • MyBatis框架(入门)
  • 【java多线程】线程间通信-利用wait和notify轮流按序打印奇数和偶数
  • 一文读懂-嵌入式Ubuntu平台
  • 基于Bootstrap 的网页html css 登录页制作成品
  • C++学习:六个月从基础到就业——C++17:if/switch初始化语句
  • MATLAB中的Switch语句讲解
  • LabVIEW双音信号互调失真测量
  • CSS 浮动(Float)及其应用
  • AUTOSAR图解==>AUTOSAR_SRS_TTCAN
  • CPU、核心、进程、线程、协程的定义及关系
  • 基于DeepSeek API构建带记忆的对话系统:技术实现详解
  • 网络的知识的一些概念
  • 代码案例分析
  • 文件IO之标准IO
  • AGI大模型(23):LangChain框架快速入门之LangChain介绍
  • Linux基础指令
  • 目标检测评估指标mAP详解:原理与代码
  • Python文件IO、pip管理及内置模块实战解析
  • 编译原理--期末复习
  • 论文学习:《引入TEC - LncMir,通过对RNA序列的深度学习来预测lncRNA - miRNA的相互作用》
  • 王者荣耀游戏测试场景题
  • RISC-V 开发板 MUSE Pi Pro V2D图像加速器测试,踩坑介绍
  • 20250518 强化命题
  • Vue3学习(Vue3.3新特性——defineOptions宏)