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

【Python 语法糖小火锅 · 第 3 涮】

一、糖味一句话

if/else 压成一行,是三元表达式;
把赋值塞进判断里,是海象 :=
or/and 做兜底,是短路魔法。
三味同锅,鲜到掉眉。


二、1 行示例 3 连发

# ① 三元:真值 if 条件 else 假值
status = 200
msg = "ok" if status < 400 else "error"# ② 海象:边判断边赋值
if (n := len(data)) > 1000:print(f"大数据,{n} 条")# ③ 短路:or 给默认值
port = int(os.getenv("PORT") or 8000)

三、真实场景:CLI 参数 3 行变 1 行

需求:取用户输入的整数,没给就用 42,且要打印最终值。

import sys
count = int(sys.argv[1]) if len(sys.argv) > 1 else 42
print(f"Running {count} times")

再升级:

count = int((arg := sys.argv[1] if len(sys.argv) > 1 else None) or 42)
print(f"Running {count} (input was {arg})")

四、防踩坑小贴士

  1. 三元表达式优先级低,记得加括号:
    x + a if cond else b(x + a) if cond else b
  2. 海象运算符必须加括号才能用于顶级表达式,否则 SyntaxError。
  3. 短路只适用于「真/假」判断,别拿复杂表达式放左边,可读性会哭。

记忆口令 :“三元挑真假,海象边算边拿,短路兜底一句话。”

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

相关文章:

  • 【RabbitMQ】高级特性—TTL、延迟队列详解
  • Java 中的编译与反编译:全面解析与实践指南
  • drippingblues靶机
  • 四边形(梯形、平行四边形、矩形、菱形和正方形)
  • [贪心]田忌赛马
  • Aurora接口FPGA设计
  • QT Creator 5.14.2安装
  • 卷板矫平机:给一张钢板做“拉伸放松操”
  • 北大回应录取通知书被指存在语句问题
  • Claude Code 与 Cursor 技术对比:架构差异与适用场景分析
  • 四、RuoYi-Cloud-Plus 部署时nacos配置服务启动
  • NVIDIA Jetson实战笔记
  • 相册管理系统介绍
  • <PLC><汇川><字符转换>在汇川PLC中,如何进行字符串的转换与比较?
  • 实数与复数及欧拉公式关系
  • WeTok Powerful Discrete Tokenization for High-Fidelity Visual Reconstruction
  • DAY 37 作业(补)
  • vue3上传的文件在线查看
  • Mistral Small 3.1 架构深度解析:高效小型模型的巅峰之作
  • 华数杯C题:可调控生物节律的LED光源研究——数学建模与Python实战
  • 应用层Http协议(1)
  • 大玄古籍制作软件【详细教程20:txt文档config自动化配置】,排版软件,自动排版,排版设计,个人出书,一键排版
  • MATLAB中文乱码的解决方法
  • 吴恩达机器学习笔记(4)—多变量线性回归:梯度下降(附代码)
  • STM32学习笔记6-TIM-2输出比较功能
  • Python(13) -- 面向对象
  • 智慧能源设备巡检缺陷漏检率↓76%:陌讯多模态融合算法实战解析
  • 设备点检系统二维码的应用
  • ISO5001能源管理体系认证的流程
  • 频域中的正弦波