首先欣赏一下,Python中的Python之禅

>>> import this
The Zen of Python, by Tim PetersBeautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Python代码简单胜于复杂,明确胜于晦涩
下面举几个例子感受一下:

比如lambda的主体是单个表达式(而不是语句),所以只能将有限的逻辑封装进一个lambda中。

当然如果,你能把Python中大部分的语句编写成基于表达式的等价代码,就能简练你的Python代码。

例一:

if a:b
else b:c

等价于>>>

b if a else c

等价于>>>

((a and b) or c)

例二:

def lower(x, y):return (x if x < y else y)

等价于>>>

lower = (lambda x, y: x if x < y else y)

虽然这些技巧很好用,但是万不得已不要多用,会影响你的程序可读性。虽然代码少了但是变得晦涩难懂了。

这也就是为什么lambda一般只针对较小的一段内联代码。而def用于更复杂的代码编写。当你视情况去灵活运用它们时,就可以真正做到Python之禅的内容了。

如何(不)让你的Python代码不再晦涩难懂相关推荐

  1. c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法

    c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...

  2. DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现

    作者 | Samuel Noriega 译者 | Freesia 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]最近,谷歌 DeepMInd 发表论文( DRAW: ...

  3. 改改 Python 代码,运行速度还能提升 6 万倍,Science:先别想摩尔定律了

    如果摩尔定律注定终结,人类的算力会被「锁死」吗?MIT.英伟达.微软研究者合著的一篇 Science 论文告诉我们:不会. 这份最新研究指出,在后摩尔定律时代,人类所获得的的算力提升将更大程度上来源于 ...

  4. python 运行部分代码_改改Python代码,运行速度还能提升6万倍

    如果摩尔定律注定终结,人类的算力会被「锁死」吗?MIT.英伟达.微软研究者合著的一篇 Science 论文告诉我们:不会. 这份最新研究指出,在后摩尔定律时代,人类所获得的的算力提升将更大程度上来源于 ...

  5. 158行Python代码复现:DeepMind提图像生成的递归神经网络DRAW

    授权自AI科技大本营(ID:rgznai100) 本文约5200字,建议阅读10+分钟. 本文作者基于代码实现系统的思路,详细阐述了 DRAW 的概念.架构和优势等. [ 导读 ]最近,谷歌 Deep ...

  6. 深度学习中的正则化技术(附Python代码)

    作者:SHUBHAM JAIN 翻译:和中华 校对:丁楠雅 本文约3500字,建议阅读20分钟. 本文简单介绍了什么是正则化以及在深度学习任务中可以采用哪些正则化技术,并以keras代码具体讲解了一个 ...

  7. python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...

    我每天都使用这些实用程序来使我的Python代码可显示. 它们是免费且易于使用的. 编写漂亮的Python比看起来难. 作为发布工作流程的一部分,我使用以下工具使代码可显示并消除可避免的错误. 1.B ...

  8. python写一个游戏多少代码-使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...

  9. python浪漫代码-使用Python代码的程序员也浪漫

    原标题:使用Python代码的程序员也浪漫 代码也浪漫:用Python放一场圣诞节烟花秀! 天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花庆祝昨晚法 ...

  10. 数学建模——支持向量机模型详解Python代码

    数学建模--支持向量机模型详解Python代码 from numpy import * import random import matplotlib.pyplot as plt import num ...

最新文章

  1. 【组队学习】【28期】Datawhale组队学习内容介绍
  2. SQL SERVER的统计信息
  3. 容器退出时我丢失了数据
  4. 【转】Java程序员常用工具类库 - 目录
  5. 关于ASP.NET未能映射路径问题
  6. 运行数据区②---堆
  7. JavaScript数组迭代方法(图解)
  8. jpa onetoone_拥抱开源从表设计到 JPA 实现
  9. 完成端口可用回射服务器
  10. opengl 实时波形显示_OpenGL1------OpenGL概述
  11. document.write() 和writeln()方法注意事项
  12. 暴力破解黄巴登录网站
  13. spark wordcount 实例
  14. 网页加载CAD图纸的两个方案对比说明
  15. 使用Python全栈打造淘宝客微信机器人!功能太强大了!
  16. 哪上班 | 好工作近在咫尺
  17. 基于Auto.js的淘宝抢购助手+京东双十一活动助手。亲测运行正常!
  18. 24产品经理需要具备的用户动机分析能力
  19. java 句柄无效_java.io.IOException: 句柄无效 异常是什么引起的
  20. 如何打开.pdm文件(Mac OS X)

热门文章

  1. 3年间 女子称遭邻居报复放了上千条虫子
  2. 计算机管理信息阶段性测验答案,管理信息系统阶段性学习测验一试题及答案(14页)-原创力文档...
  3. 可以用云服务器挂机传奇吗,蜂窝云挂机划算吗 游戏蜂窝云挂机怎么用
  4. 描述性物理海洋学--第一章学习笔记
  5. uni-app编译报caniuse-lite is outdated
  6. iOS 10 新特性
  7. 偷得浮生半日闲:三层神经网络的python实现
  8. (C语言)不变初心数 (15 分)---pta
  9. 中学-知识与能力【8】
  10. 可以学习相关框架【转:https://testerhome.com/topics/6283】