Python之禅——传说中的蛇宗总纲

    技术2022-07-10  163

    禅,是一种基于“静”的行为,源于人类本能,经过古代先民开发,形成各种系统的修行方法,并存在于各种教派。先秦时期就有关于此种行为的记载,但是未有固定称呼。直至印度词汇jana传入,汉语音译为“禅那”,后世便以“禅”字称谓此类行为。

    在交互式解释器中输入import this就会显示 Tim Peters 的 “The Zen of Python”

    Beautiful is better than ugly. //优美胜于丑陋(Python以编写优美的代码为目标) 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. //所有错误都不应该被直接忽略,除非能够被精确的捕获之后。(其中一个典型的例子就是,不建议用Exception:pass来直接忽略所有异常。) 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. //虽然起初这并不那么显而易见,因为你不是 Python 之父(这里的Dutch是指Python之父Guido Van Rossum,他是荷兰人。) 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 Java SQL 何程龙,大学计算机信息管理专业在读,现就任后端开发工程师、数据库工程师。曾担任城建创新创业学院理事会会长,现为博客专家、签约讲师,中国开源协会-开发分会管理委员会委员。带过多批学员,因授课耐心细致,通俗易懂,风趣幽默,富有激情,受学员一致好评。现主要从事软件开发及软件教育培训,具有丰富的实战经验,善于将复杂问题简单化,擅长Web前端、JavaScript框架、Java并发、C#编程、Python Web、数据库SQL等领域及技术。
    Processed: 0.016, SQL: 12