海象运算符:=
age=20
if age>18:
print("已经成年了")
等同于
if (age:= 20) > 18: print("已经成年了")
在运算的时候赋值
members = [ {"name": "小五", "age": 23, "height": 1.75, "weight": 72}, {"name": "小李", "age": 17, "height": 1.72, "weight": 63}, {"name": "小陈", "age": 20, "height": 1.78, "weight": 82}, ] count = 0 def get_bmi(info): global count count += 1 print(f"执行了 {count} 次") height = info["height"] weight = info["weight"] return weight / (height ** 2) # 查出所有会员中过于肥胖的人的 bmi 指数 fat_bmis = [get_bmi(m) for m in members if get_bmi(m) > 21] print(fat_bmis)
执行了 1 次 执行了 2 次 执行了 3 次 执行了 4 次 执行了 5 次 执行了 6 次 [23.510204081632654, 21.29529475392104, 25.88057063502083]
在if条件语句执行为true的时候,会再调用get_bmi来计算生成list、
fat_bmis2 = [bmi for m in members if (bmi := get_bmi(m)) > 21] print(fat_bmis2)
执行了 1 次 执行了 2 次 执行了 3 次 [23.510204081632654, 21.29529475392104, 25.88057063502083]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南