一日一技:你的代码是如何被炫技毁掉的

简介: 一日一技:你的代码是如何被炫技毁掉的

你的代码是如何被炫技毁掉的?


假设有这样一个例子:


一个函数接收两个参数,第一个参数为一个字典,第二个参数为一个列表,我们要把列表中的每一个元素去查字典,如果能够查询到,那么就获取值,如果不能查询到,就跳过。


例如:


输入:{'a': 1, 'b': 2, 'c': 3}['a', 'd', 'c'],那么打印:


a=1
c=3


我们可能会这样写代码:


def referer_dict(target, keys):
    for k in keys:
        if k in target:
            print(f'{k}={target[k]}')


那么有没有可能把判断k是否在 target这个操作去掉呢?也可以:


def referer_dict(target, keys):
    for k in keys:
        values = target.get(k, None)
        values is None or print(f'{k}={target[k]}')


但这种写法实际上并没有节省代码行数,不如这样改:


def referer_dict(target, keys):
    for k in keys:
        k not in target or print(f'{k}={target[k]}')


接下来还可以继续优化成一行代码:


def referer_dict(target, keys):
    [print(f'{k}={target[k]}') for k in keys if k in target]



再这样魔改下去这个函数都可以去掉。总共只需要1行代码。但是这样炫技并不可取。代码可读性和可维护性比炫技重要一万倍。


第四种写法,纯粹就是为了凑出这个打印结果而强行使用了列表推导式,毫无可读性,别人接手这个代码也难以维护。


保持 Python 的自文档性,优秀的 Python 代码,本身就是最好的文档,连注释都不需要就能让人理解。


请关注微信公众号【未闻Code】获取更多精彩文章。


目录
相关文章
|
19天前
|
开发者
代码与禅:在软件开发中寻找内在平静
【5月更文挑战第28天】 在快速迭代的科技世界中,软件开发者往往沉浸于无尽的代码海洋。本文探讨了如何将禅宗哲学融入编程实践,以提升开发效率和内在平和。通过禅修的三个核心原则——专注、简洁、当下意识,我们能够重新审视代码的本质,优化思维模式,并最终达到技术与精神的和谐统一。
|
1月前
|
安全 算法 前端开发
作为程序员变强了也变秃了遇到令人膛目结舌的代码技巧
作为程序员变强了也变秃了遇到令人膛目结舌的代码技巧
32 1
|
8月前
|
Go
腥风血雨中,这招救了我的代码!
腥风血雨中,这招救了我的代码!
30 0
|
Python
一日一技:你的代码是如何被炫技毁掉的
一日一技:你的代码是如何被炫技毁掉的
83 0
|
IDE 开发工具 Python
这样的奇技淫巧,劝你不用也罢
这样的奇技淫巧,劝你不用也罢
109 0
|
设计模式 移动开发 安全
与其硬啃“屎山”代码,不如用这六步有条不紊实现代码重构 李慧文
对大规模系统进行重构,如果一个人对着又臭又长的代码硬刚,即使花了大量的时间进行手工验证,最后仍然会有很多问题,特别是一些深路径及特殊场景下的问题。其实,大规模的系统级别重构时是有方法的。我们采访了 Thoughtworks 数字化转型与运营 资深咨询师黄俊彬(QCon+案例研习社讲师),请他来分享 MV*模式重构演进的方法和经验。
531 0
与其硬啃“屎山”代码,不如用这六步有条不紊实现代码重构 李慧文
|
安全 算法 Serverless
敬畏代码,寻找你的第83行
阿里云云效团队携手阿里云函数计算等团队,再度重启“83行代码挑战赛”,快来参加吧!
敬畏代码,寻找你的第83行
|
编译器
“整洁代码根本就是个骗局!”
怎样的代码才是整洁的代码,而怎样的代码不是呢?——事实上,没有人会写整洁的代码。
瞧!这5000个爱管闲事的工程师干的好事.....
从 2018 年 4 月来到大爱清尘基金开始,师先存就没有正经过过几个周末。
10136 0
谈点杂的
人性弱点 1.男人好色 2.女人爱美 3.老人怕死 4.小孩贪玩 找到切入点,才能有好点子,但一定要用合法的手段
842 0

热门文章

最新文章

相关实验场景

更多