当前位置: 首页 > 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.xdnf.cn/news/1272601.html

相关文章:

  • 【unitrix数间混合计算】2.9 小数部分特征(t_non_zero_bin_frac.rs)
  • 【Canvas与旗帜】圆角蓝底大黄白星十一红白带旗
  • UE破碎Chaos分配模型内部面材质
  • CentOS7编译安装GCC
  • 【Python 高频 API 速学 ④】
  • Spring学习笔记:Spring AOP入门以及基于Spring AOP配置的深入学习与使用
  • 嵌入式软件工程师笔试题(二)
  • 腾讯COS云存储入门
  • 原创邮件合并Python工具使用说明(附源码)
  • 安装NodeJS和TypeScript简要指南
  • 东方心绣脸启幕26周年盛典:以匠心锚定百年基业
  • 百度网盘自动启动如何关闭,关闭智能看图
  • AI推理的“灵魂五问”:直面2025算力鸿沟与中国的破局之路
  • 模拟人脑处理文本——从分句到分词,从段落到时间线叙事
  • 【Datawhale AI夏令营】让AI读懂财报PDF(多模态RAG)(Task 2)
  • 《汇编语言:基于X86处理器》第12章 复习题和练习
  • 《励曼旋耕》Liman Rotary Tillage
  • 202506 电子学会青少年等级考试机器人五级器人理论真题
  • JVM相关(AI回答)
  • 云渲染的未来已来:渲酷云如何重新定义数字内容生产效率
  • [CUDA] CUTLASS | C++ GEMM内核--高度模板化的类
  • 基于STM32H5的循环GPDMA链表使用
  • C语言指针完全指南:从入门到精通
  • C++虚函数表实现机制以及用C语言对其进行的模拟实现(加入了自己的思考和笔记)
  • 轻松Linux-5.进程控制
  • Linux文件系统基石:透彻理解inode及其核心作用
  • 复现论文关于3-RPRU并联机器人运动学建模与参数优化设计
  • 智慧农业-无人机视角庄稼倒伏农作物倒伏识别分割数据集labelme格式541张1类别
  • java基础(六)jvm
  • 12. “static关键字是什么意思”,Java中是否可以覆盖(override)一个private或者是static的方法