当前位置: 首页 > 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
返回值类型允许不同类型需类型兼容

相关文章:

  • 高等数学第五章---定积分(§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通信
  • 重庆动物园大熊猫被游客扔玻璃瓶,相同地方曾被扔可乐瓶
  • 微软通讯软件Skype正式停止运营:斥资85亿美元购入,月活用户曾超3亿
  • 原四川省农村信用社联合社党委副书记、监事长杨家卷被查
  • “五一”假期国内出游3.14亿人次,国内游客出游总花费1802.69亿元
  • 俄军击落多架企图攻击莫斯科的无人机
  • 想要“逆转”糖尿病,减少这两处脂肪是关键