python 之禅

zhoujinjian 2018-05-25 原文

python 之禅

 1.Beautiful is better than ugly. 

优美胜于丑陋(Python以编写优美的代码为目标) 

2.Explicit is better than implicit.

 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

3. Simple is better than complex.

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

4.Complex is better than complicated.

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

5.Flat is better than nested.

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

6.Sparse is better than dense.

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

7.Readability counts

可读性很重要(优美的代码是可读的)

8.Special cases aren’t special enough to break the rules. Although practicality beats purity.

 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

9.Errors should never pass silently. Unless explicitly silenced.

不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码)

10.In the face of ambiguity, refuse the temptation to guess.

当存在多种可能,不要尝试去猜测

11.There should be one– and preferably only one –obvious way to do it.24

而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)

12.Although that way may not be obvious at first unless you’re Dutch.

 虽然这并不容易,因为你不是 Python 之父(这里的Dutch是指Guido

13.Now is better than never。 Although never is often better than *right* now.

做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

14.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.

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)

15.Namespaces are one honking great idea — let’s do more of those!

命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

发表于 2018-05-25 22:17 萌新探底 阅读() 评论() 编辑 收藏

 

版权声明:本文为zhoujinjian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhoujinjian/p/9090893.html

python 之禅的更多相关文章

  1. PyGame实现情人节表白利器

      前提:写不出那么那个的话哇,随便写写,随便看看,重在代码(文章末尾有免费完整源代码)    实验环境:   […]...

  2. YAML 语言教程与使用案例

    YAML 语言教程与使用案例 YAML语言教程与使用案例,如何编与读懂写YAML文件   YAML语言教程与使 […]...

  3. python之celery的使用(一)

    前段时间需要使用rabbitmq做写缓存,一直使用pika+rabbitmq的组合,pika这个模块虽然可以很 […]...

  4. 老男孩python学习之作业二—三级菜单

    因为之前花力气完成了购物小程序的作业 现在做这个三级菜单简直是so easy!! 1.显示省级菜单 2.交互, […]...

  5. Python使用pycryptodome进行DES3加密

    from Crypto.Cipher import DES3 import base64 class Encr […]...

  6. NumPy基础知识图谱

    所有内容整理自《利用Python进行数据分析》,使用MindMaster Pro 7.3制作,emmx格式,源 […]...

  7. 使用Python-Flask框架开发Web网站系列课程(一)构建项目

    使用Python-Flask框架开发Web网站系列课程(一)构建项目 前言 使用IDE:PyCharm 操作系 […]...

  8. python 源代码保护 之 xx.py -> xx.so

    前情提要 之前由于项目的需要,需要我们将一部分“关键代码”隐藏起来。  虽然Python 先天支持 将源代码 […]...

随机推荐

  1. 牛客网_运行问题

    一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核 […]...

  2. HTML颜色表

    #000000 #2F0000 #600030 #460046 #28004D #272727 #4D0000 […]...

  3. Linux学习之三——操作档案与目录

    一. 目录文档操作指令 1. pwd 显示目前所在目录 如果加上-P 的选项,则取得正确的目录名称,而不是以链 […]...

  4. 阿里分布式服务框架Dubbo的架构总结

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之 […]...

  5. sklearn 中的 make_blobs()函数详解

    sklearn 中的 make_blobs()函数 make_blobs() 是 sklearn.datase […]...

  6. 大白话之回调函数

    一、什么是回调函数? emm,先举一下生活中常见的例子: 1、孩子告诉妈妈:明天早上八点叫我起床。这是主调函数 […]...

  7. Java(13)方法参数

    前言首先回顾一下在程序设计语言中关于如何将参数传递给方法的一些专业术语。按值调用表示方法接收的是调用者提供的值。而按引调用表示方法接收的是调用者提供的变量地址。方法可以修改按引用传递的变量的值,而不能修改按值传递的变量的值。 Jav...

  8. 华为移动HG8546M光猫路由器通过lan口再连接路由器

    首先说明:本机已经开启路由和桥接,可以直接连接wifi上网,然后有个lan口通过网线连接机顶盒可以正常看电视。 […]...

展开目录

目录导航