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

python刷题笔记:三目运算符的写法

在Python中,三目运算符(条件表达式)是简化if-else逻辑的语法工具,其标准格式为:
值 A i f 条件 e l s e 值 B 值A \quad if \quad 条件 \quad else \quad 值B Aif条件elseB


一、基础用法

1. 变量赋值(最常用场景)

传统写法

if a > b:max_val = a
else:max_val = b

三目运算符简化

max_val = a if a > b else b  # 条件为真取a,否则取b
2. 函数返回值
def check_parity(x):return "奇数" if x % 2 == 1 else "偶数"  # 直接返回条件判断结果

二、进阶用法

1. 嵌套条件(多条件判断)

示例:比较三个数中的最大值

a, b, c = 10, 20, 15
max_val = a if a > b and a > c else (b if b > c else c)  # 嵌套判断
2. 列表推导式结合
numbers = [3, -5, 8, -2]
abs_list = [x if x >= 0 else -x for x in numbers]  # 输出[3,5,8,2]

三、注意事项

  1. 运算顺序
    多级嵌套时从左向右计算,可用()明确优先级

    # 示例:表达式等价性对比
    ret = (x if x>y else y) if y>z else z  # 明确分组
    
  2. 可读性边界
    适用于简单逻辑,复杂条件建议保留if-else结构

  3. 类型一致性
    值A值B应为相同类型或可兼容类型

    result = "正数" if n > 0 else 0  # 混合类型可能引发后续问题
    

四、与C语言对比

特性Python三目运算符C语言三目运算符
语法结构a if cond else bcond ? a : b
返回值类型允许不同类型需类型兼容

http://www.dtcms.com/a/174297.html

相关文章:

  • 高等数学第五章---定积分(§5.1定积分的概念、性质和应用)
  • 【HFP】蓝牙语音通信高级功能解析:快速拨号与呼叫等待协议实现
  • 【日撸 Java 三百行】Day 4(条件语句实战——闰年问题)
  • ORACLE EBS 12.1 启用https 简单策略
  • STM32H743单片机实现ADC+DMA多通道检测+事件组
  • nut-list和nut-swipe搭配:nut-cell侧滑定义无法冒泡打开及bug(含代码、案例、截图)
  • 继电器负载知识
  • 内存的位运算
  • Dify - Stable Diffusion
  • 未来设计新篇章!2025 年 UX/UI 设计趋势,技术与体验的全新结合!
  • 基于Jetson Nano与PyTorch的无人机实时目标跟踪系统搭建指南
  • 通过CIDR推出子网掩码和广播地址等
  • 【quantity】1 SI Prefixes 实现解析(prefix.rs)
  • 网络的搭建
  • BBS (cute): 1.0.2靶场渗透
  • [Linux]多线程(一)充分理解线程库
  • TCP数据报
  • 开发积分商城为商家带来的多重优势
  • 2.4线性方程组
  • CAN通信
  • Twin Builder 中的电池等效电路模型仿真
  • 如何在 Vue3 中更好地使用 Typescript
  • 【计算机网络 第8版】谢希仁编著 第四章网络层 地址类题型总结
  • Spring Boot操作MongoDB的完整示例大全
  • 《算法导论(第4版)》阅读笔记:p9-p9
  • OSCP - Proving Grounds - NoName
  • P1782 旅行商的背包 Solution
  • vue3在使用@import “./index.scss“报错
  • 用 GRPO 魔法点亮Text2SQL 的推理之路:让模型“思考”得更像人类
  • FastJson 转 Jackson 指南