很多人不知道的Python 炫技操作:条件语句的七种写法

Python 炫技操作:条件语句的七种写法 Python 炫技操作:条件语句的七种写法原代码第一种第二种语法例子第三种语法例子第四种语法第五种语法例子第六种语法例子 公告 大家好!我是晨晨????希望大家多多支持我! Python总是入不了门?为了感谢每一个关注我的小可爱:小编给大家准备了大量基础入门知识,都是从零开始的,还有专业的人给你解答问题。还有不错PDF电子书!????文章留言“学习”即可获取晨晨精心准备的学习大礼包书籍教程,都是无偿分享滴???? 最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~ ——————————— 阅读详情

很多人不知道的Python 炫技操作:条件语句的七种写法

前言:

有的人说 Python 是一门 入门容易,但是精通难的语言,这一点我非常赞同。

Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。

但你要知道,在团队合作里,炫技是大忌。

为什么这么说呢?我说下自己的看法:

  1. 越简洁的代码,越清晰的逻辑,就越不容易出错;
  2. 在团队合作中,你的代码不只有你在维护,降低别人的阅读/理解代码逻辑的成本是一个良好的品德
  3. 简单的代码,只会用到最基本的语法糖,复杂的高级特性,会有更多的依赖(如语言的版本)

在这个系列里,我将总结列举一下,我所见过的那些炫技操作,今天先来个热身,写一写很简单的条件判断语句里有哪些让人想骂街的炫技操作,在这里,如果你是 Python 发烧友,你可以学到一些写出超酷的代码书写技巧,但学习归学习,希望你区分场景使用。

原代码

这是一段非常简单的通过年龄判断一个人是否成年的代码,由于代码行数过多,有些人就不太愿意这样写,因为这体现不出自己多年的 Python 功力。

if age > 18:
    return "已成年"
else:
    return "未成年"
复制代码

下面我列举了六种这段代码的变异写法,一个比一个还 6 ,单独拿出来比较好理解,放在工程代码里,没用过这些学法的人,一定会看得一脸懵逼,理解了之后,又不经意大呼:卧槽,还可以这样写?,而后就要开始骂街了:这是给人看的代码? (除了第一种之外)

第一种

语法:

<on_true> if <condition> else <on_false> 
复制代码

例子

>>> age1 = 20
>>> age2 = 17
>>> 
>>> 
>>> msg1 = "已成年" if age1 > 18 else "未成年"
>>> print msg1
已成年
>>> 
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>> print msg2
未成年
>>> 
复制代码

第二种

语法

<condition> and <on_true> or <on_false>
复制代码

例子

>>> msg1 = age1 > 18 and "已成年" or "未成年"
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>> 
>>> print(msg1)
已成年
>>> 
>>> print(msg2)
未成年
复制代码

第三种(免费领取Python自动化学习资料  工具,面试宝典面试技巧,加QQ群,785128166,群内还会大佬技术交流)

语法

(<on_true>, <on_false>)[condition]
复制代码

例子

>>> msg1 = ("未成年", "已成年")[age1 > 18]
>>> print(msg1)
已成年
>>> 
>>> 
>>> msg2 = ("未成年", "已成年")[age2 > 18]
>>> print(msg2)
未成年
复制代码

第四种

语法

(lambda: <on_false>, lambda:<on_true>)[<condition>]()
复制代码

例子

>>> msg1 = (lambda:"未成年", lambda:"已成年")[age1 > 18]()
>>> print(msg1)
已成年
>>> 
>>> msg2 = (lambda:"未成年", lambda:"已成年")[age2 > 18]()
>>> print(msg2)
未成年
复制代码

第五种

语法:

{True: <on_true>, False: <on_false>}[<condition>]
复制代码

例子:

>>> msg1 = {True: "已成年", False: "未成年"}[age1 > 18]
>>> print(msg1)
已成年
>>> 
>>> msg2 = {True: "已成年", False: "未成年"}[age2 > 18]
>>> print(msg2)
未成年
复制代码

第六种

语法

((<condition>) and (<on_true>,) or (<on_false>,))[0]
复制代码

例子

>>> msg1 = ((age1 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg1)
已成年
>>> 
>>> msg2 = ((age2 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg2)
未成年
复制代码

以上代码,都比较简单,仔细看都能看懂,我就不做解释了。

看到这里,有没有涨姿势了,学了这么久的 Python ,这么多骚操作,还真是活久见。。这六种写法里,我最推荐使用的是第一种,自己也经常在用,简洁直白,代码行还少。而其他的写法虽然能写,但是不会用,也不希望在我余生里碰到会在公共代码里用这些写法的同事。

蓝桥杯FPGA赛道积分赛 代码如下: 按键驱动 代码如下 按键驱动 代码如下: 顶层文件 按键驱动 数码管驱动 声明:本代码借鉴网络资料,如有侵权和错误请联系作者删除。我是从寒假开始备赛的,由于我基础不行,备赛过程中也是混混呃呃的,备赛效率不高,总体来说备赛不认真,有点拖拉,但是最后我也坚持备赛到了今天,在备赛过程中,即复习了旧的东西,也学到了新的东西,总结起来还是有点收获的,后天北京、天津、河北地区就要进行省赛了,我会全力以赴,不管结果怎么样,尽力就好,最后祝大家都能 阅读详情

相关推荐

FunASR语音识别服务在Win11上的Docker部署避坑指南:模型配置与热词优化

本文详细介绍了在Windows 11系统上通过Docker部署FunASR语音识别服务的完整流程,包括环境准备、模型配置、热词优化及常见问题解决方案。特别针对Win11环境下的特殊配置和性能调优提供了实用指南,帮助开发者高效搭建高性能语音识别服务。

e3f4g5的博客 222

11 个 Python 教程来炫耀你的高级技能

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。,如有侵权,请联系删除。或者更可爱的方式:🙂。

m0_58477260的博客 1122

基于大模型的急性重症胰腺炎全流程预测与诊疗方案研究

本研究构建了基于大模型的急性重症胰腺炎(SAP)全流程预测与诊疗系统,实现了从术前风险评估到术后康复管理的精准诊疗闭环。通过整合临床信息、实验室检查和影像学等多源数据,模型在测试集上预测准确率达X%,AUC为X,显著优于传统评分系统。研究创新性地将预测结果应用于手术方案制定、麻醉决策、并发症防控及个性化护理,形成智能化诊疗方案。验证结果显示模型具有良好的稳定性和临床适用性,同时配套的健康教育体系提升了患者自我管理能力。尽管存在样本局限性和模型可解释性等不足,该研究为SAP的精准诊疗提供了新范式,未来可通过扩

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1116

学了8年Python,被这8行炫技代码惊呆了!

我们今天来看一段炫技代码。它可以把任何能接收两个参数的函数定义成一个特殊的运算符。例如,我们知道Python里面的range函数,最少可以接收1个参数,最多能够接收3个参数。当只有两个参数...

cainiao_python的博客 862

禾赛XT16 vs XT32激光雷达实测对比:选16线还是32线?看完这篇不纠结

本文深度评测禾赛XT16与XT32激光雷达的性能差异与应用选择。通过实测数据对比,分析16线与32线激光雷达在点云密度、动态场景适应性及与IMU协同工作等方面的表现,帮助用户根据自动驾驶、机器人等不同应用场景做出最优选型决策。

table的专栏 945

OCS2 入门教程(一)

OCS2 是专为切换系统优化控制(ptimalontrol forwitchedystems,OCS2)定制的 C++ 工具箱。该工具箱提供以下算法的高效实现:SLQ:连续时间域约束 DDPiLQR:离散时域约束 DDPSQP:基于 HPIPM 的多重打靶算法IPM: 基于非线性内点法的多重搜索算法SLP:基于 PIPG 的顺序线性规划算法OCS2 通过增强拉格朗日法(Augmented Lagrangian)或松弛障碍法(relaxed barrier methods)处理一般路径约束。

机器人控制与仿真应用 7837

轰炸小程序

【代码】轰炸小程序。

2301_78398877的博客 570

18、地下矿山中人工智能在区分真实微震事件与噪声信号的应用

本文提出一种基于遗传编程(GP)的新型经验模型,用于地下矿山中真实微震事件与噪声信号(特别是爆破信号)的自动区分。针对传统方法和常见机器学习算法存在的黑箱问题、过拟合及准确性不足等局限,GP模型通过符号回归和进化机制生成可解释的数学表达式,具备自动特征选择能力,有效提升了分类准确率。研究使用包含100个样本的真实数据库,结合敏感性分析优化模型参数,并与线性判别分析(LDA)进行对比,结果表明GP模型在分类性能上更具优势。该模型可应用于实时微震监测系统,提高矿山安全生产水平,降低误判带来的成本开销,具有良好的

assembly8low的博客 94

Python 炫技操作(九):调用函数的九种方法

系列导读 Python 炫技操作(一):条件语句的七种写法 Python 炫技操作(二):合并字典的七种方法 Python 炫技操作(三):判断是否包含子串的七种方法 Python 炫技操作(四):连接列表的八种方法 Python 炫技操作(五):海象运算符的三种用法 Python炫技操作(六):花式导包的八种方法 Python 炫技操作(七):模块重载的五种方法 Python 炫技操作(八):安装包的八种方法 方法一:直接调用函数运行 这种是最简单且直观的方法 def task(): print(

王炳明 3374

手把手教你学simulink(11.6)--Simulink 航空航天场景:基于Simulink的飞机俯仰控制系统的数学模型

自动驾驶系统在航空航天领域具有重要应用,特别是在商业航空、军用航空和无人机等领域。PID控制器因其简单且有效的特性,被广泛应用于飞行控制。Simulink提供了一个强大的平台,用于建模、仿真和分析动态系统,非常适合设计和测试自动驾驶系统的控制器。通过本项目的实施,我们成功设计和仿真了一个用于控制飞机俯仰角的PID控制器。该项目展示了从系统建模、控制器设计、仿真验证到结果分析的完整流程,为PID控制器的设计提供了有价值的参考。希望这个实例能够为你的航空航天项目提供有用的指导。

MHD0815的博客 565

微信小程序 - [wxapplib]] backgroundfetch privacy fail {“errno”:101,“errMsg”:“private_getBackgroundFetchDa

微信小程序报错之backgroundfetch privacy fail,微信小程序报错WAServiceMainContext.js:1 [wxapplib]] backgroundfetch privacy fail {“errno“:101,怎么解决?问题出现:调用wx.chooseMessageFile报错(开发者工具中正常)用户隐私协议中未声明小程序使用此功能,安卓真机调试报错:backgroundfetch privacy fail ,怎么解决?微信小程序[wxapplib]] backgrou

🏆 前端领域优质创作者 1万+

Python 炫技操作(01):条件语句的七种写法

有的人说 Python 是一门 入门容易,但是精通难的语言,这一点我非常赞同。 Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。 但你要知道,在团队合作里,炫技是大忌。 为什么这么说呢?我说下自己的看法: 越简洁的代码,越清晰的逻辑,就越不容易出错; 在团队合作中,你的代码不...

王炳明 948

【笔试真题】- 华子-2025.12.17-研发岗

难度:中等难度:中等偏难难度:中等K小姐是一名服务器运维工程师,她负责监控公司服务器的访问日志。服务器采用指数退避策略来优化访问频率,每次重试的时间间隔会按照某种规律增长。经过一段时间的监控,K小姐记录了 nnn 个访问时间点,第 iii 个时间点的值为 a[i]a[i]a[i](可能有重复)。现在,她想分析这些访问时间点是否符合某种特定的模式。具体来说,对于给定的参数对 (x,y)(x, y)(x,y),她想知道:有多少个访问时间点 a[i]a[i]a[i] 满足 a[i]=xK+ya[i] = x^K

春秋招笔试突围 186

Python炫技操作:条件语句的七种写法

作者 | 写代码的明哥来源 | Python编程时光有的人说 Python 入门容易,但是精通难的语言,这点我非常赞同。Python 语言里有许多(而且是越来越多)的高级特性,是 Py...

AI科技大本营 859

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

让人想骂街的 Python 炫技操作:条件语句的七种写法

有的人说 Python 入门容易,但是精通难的语言,这点我非常赞同。 Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。 但你要知道,在团队合作里,炫技是大忌。 为什么这么说呢?我说下自己的看法: 越简洁的代码,越清晰的逻辑,就越不容易出错; 在团队合作中,你的...

Python学习Q群696455390 578

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python条件语句代码例子_Python 炫技操作:条件语句的七种写法

原标题:Python 炫技操作:条件语句的七种写法 作者 | 写代码的明哥 责编 | 郭芮 有的人说 Python 入门容易,但是精通难的语言,这点我非常赞同。 Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。 但你要知道,在团队合作里,炫技是大忌。 为什么这么说呢?我说下自己...

weixin_39965283的博客 109

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Python的炫技操作:条件语句的七种写法

前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: Python极客社区 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 有的人说 Python 入门容易,但是精通难的语言,这点我非常赞同。 Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高...

ElegantHedgehog的博客 223

很多人不知道的Python 炫技操作:合并字典的七种方法

很多人不知道的Python 炫技操作:合并字典的七种方法 系列导读 1. 很多人不知道的Python 炫技操作:条件语句的七种写法 Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。 但你要知道,在团队合作里,炫技是大忌。 为什么这么说呢?我说下自己的看法: 越简洁的代码,越清晰的逻辑,就越不容易出错; 在团队合作中,你的代码不只有你在维护,降低别人的阅读/理解代码逻辑的成本

测试小小小的博客 189

python七种条件语句写法

七种条件语句写法 原代码 这是一段非常简单的通过年龄判断一个人是否成年的代码 if age > 18: return "已成年" else: return "未成年" 下面列举了五种这段代码的变异写法(除了第一种之外) 第一种 语法: <expression 1> if <condition> else <expression 2> ...

GoldWings 1718

Python 炫技操作:条件语句的七种写法。

转载自品略图书馆 有的人说 Python 是一门入门容易,但是精通难的语言,这一点我非常赞同。 Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。 但你要知道,在团队合作里,炫技是大忌。 为什么这么说呢?我说下自己的看法: 越简洁的代码,越清晰的逻辑,就越不...

yihuliunian的博客 165
上一篇: 有了这篇文章, Python 中的编码不再是噩梦
下一篇: 很多人不知道的Python 炫技操作:合并字典的七种方法
测试小小小
博客等级 码龄6年 265粉丝 364原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值