资讯专栏INFORMATION COLUMN

PyTips 0x00 - Python 之禅与 Pythonic

VishKozus / 3373人阅读

摘要:之禅与之禅是语言的设计哲学与所倡导的编程理念,则是指基于理念编写更加符合语法习惯的代码,这也是本项目所追求的目标,因此以本篇作为开头。

Python 之禅与 Pythonic

Python 之禅是 Python 语言的设计哲学与所倡导的编程理念,Pythonic 则是指基于 Python 理念编写更加符合 Python 语法习惯(idiomatic Python)的代码,这也是本项目所追求的目标,因此以本篇作为开头。

import this
The Zen of Python, by Tim Peters

Beautiful 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 之禅,by Tim Peters

优美胜于丑陋

明确胜于隐晦

简单胜于复杂

复杂胜于凌乱

扁平胜于嵌套

稀疏胜于紧凑

可读性至关重要

即便特例,也需服从以上规则

除非刻意追求,错误不应跳过

面对歧义条件,拒绝尝试猜测

解决问题的最优方法应该有且只有一个

尽管这一方法并非显而易见(除非你是Python之父)

动手胜于空想

空想胜于不想

难以解释的实现方案,不是好方案

易于解释的实现方案,才是好方案

命名空间是个绝妙的理念,多多益善!

参考

《Python之禅》的翻译和解释

What is Pythonic?

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37799.html

相关文章

  • PyTips 0x02 - Python 中的函数式编程

    摘要:项目地址中的函数式编程函数式编程英语或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。 项目地址:https://git.io/pytips Python 中的函数式编程 函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且...

    FrozenMap 评论0 收藏0
  • 对比几段代码,看看你是 Python 菜鸟还是老鸟

    摘要:最终还是要写上足够量的代码,才会有悟道的那一刻。另外,对于代码本身,有一套书写规范,叫做。 Python 里有个小彩蛋: 在 Python Shell 里输入 import this showImg(https://segmentfault.com/img/remote/1460000018394156?w=600&h=463); 这段话被称作 Python 之禅 ( The Zen ...

    dingding199389 评论0 收藏0
  • PyTips 0x03 - Python 列表推导

    摘要:项目地址列表推导中提到的方法可以通过简化的语法快速构建我们需要的列表或其它可迭代对象,与它们功能相似的,还提供列表推导的语法。 项目地址:https://git.io/pytips 0x03 - Python 列表推导 0x02 中提到的 map/filter 方法可以通过简化的语法快速构建我们需要的列表(或其它可迭代对象),与它们功能相似的,Python 还提供列表推导(List C...

    sugarmo 评论0 收藏0
  • PyTips 0x05 - Python 函数参数与解包

    摘要:这里的关键词函数必须明确指明,不能通过位置推断则代表任意数量的关键词参数添加的新特性,使得可以在函数参数之外使用这里的逗号不能漏掉所谓的解包实际上可以看做是去掉的元组或者是去掉的字典。 项目地址:https://git.io/pytips 函数调用的参数规则与解包 Python 的函数在声明参数时大概有下面 4 种形式: 不带默认值的:def func(a): pass 带有默认值的...

    pubdreamcc 评论0 收藏0
  • PyTips 0x0b - Python 无处不在的else

    摘要:可以通过一个简单的例子来展示当然,也可以用状态变量的做法来替代总结有人觉得的这些用法违反直觉或者是而非,不值得提倡。 项目地址:https://git.io/pytips 我们都知道 Python 中 else 的基本用法是在条件控制语句中的 if...elif...else...,但是 else 还有两个其它的用途,一是用于循环的结尾,另一个是用在错误处理的 try 中。这原本是 P...

    jaysun 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<