首页 > 编程语言 >import this Python之禅 20条准则

import this Python之禅 20条准则

时间:2023-04-01 19:34:40浏览次数:42  
标签:20 优美 Python 代码 better import than

运行import this 这句代码后返回的内容

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 以编写优美的代码为目标)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

标签:20,优美,Python,代码,better,import,than
From: https://www.cnblogs.com/bravesunforever/p/17279142.html

相关文章

  • 每日总结--2023/3/26
    完成同一线路的查询:sevlet代码:packageServelet;importDButil.DButil;importbean.User;importcom.sun.net.httpserver.HttpServer;importjakarta.servlet.ServletException;importjakarta.servlet.annotation.WebServlet;importjakarta.servlet.http.HttpServlet;importj......
  • 每日总结--2023/3/27
    完成内容:在subwayweb程序中加入了地图<%--CreatedbyIntelliJIDEA.User:86178Date:2023/3/13Time:16:43TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pagecontentType="text/html;charset=UTF-8"language="java&qu......
  • python pygame播放音频文件
    pythonpygame播放音频文件 pipinstallpygame  importpygame#Initializepygamepygame.init()#LoadtheMP3filepygame.mixer.music.load("1.mp3")#PlaytheMP3filepygame.mixer.music.play()#WaitfortheMP3filetofinishplayingwhil......
  • 联合省选 2023
    \(\textcolor{red}{\texttt{Day1}}\)\(\mathtt{20230401}\)记:首次参加省选,来增加经验的,心态也很平和。这次在交大附中考,发现考场环境还是这里最舒服。键盘相对来说好用多了。没有犯春赛没打完暴力的错误。但是花了很久写部分分。T1一开没看出正解,但是看起来很好想(有点像C......
  • P6146 [USACO20FEB]Help Yourself G 题解
    题目链接先按左端点从小到大排序。设\(f(i)\)表示前\(i\)条线段的所有子集的复杂度之和。考虑从\(f(i-1)\)转移到\(f(i)\),即考虑新加进来第\(i\)条线段的过程。第\(i\)条线段加进来所新产生的贡献分两种:设除了第\(i\)条线段选中的线段集合为\(S\),则若\(S\)......
  • 202031607323-后涌- 实验一 软件工程准备—什么是软件?什么是工程?
    项目内容班级博客链接班级链接本次作业要求链接作业要求我的课程学习目标了解掌握软件在开发过程中的过程、方法和工具本次作业在哪些方面帮我实现学习目标准备学习软件工程的工具任务1:调查问卷在以下网址提交课程调查问卷完成情况:已认真填写并提......
  • 别逛了,送你一份2023年Java核心篇JVM(虚拟机)面试题整理
    Java内存区域说一下JVM的主要组成部分及其作用?JVM包含两个子系统和两个组件,两个子系统为Classloader(类装载)、Executionengine(执行引擎);两个组件为Runtimedataarea(运行时数据区)、NativeInterface(本地接口)。●Classloader(类装载):根据给定的全限定名类名(如:java.......
  • 【月伴流星】Win10+Win11 22h2 专业精简版合集2023.04(速度贼快)
     本精简版为重度精简,不支持更新!删除了所有WinSxS内的组件硬链接,使WinSxS的体积由原来的的6G一下子缩小到60M左右,完全丧失了组件恢复功能,相当于删除了组件备份!而保留的下来组件完全不受影响均可正常使用!------------------------------------------系统为Win10+Win11精简专业版合......
  • python学习-基础案例
    案例一打印排序好的数据#列表方式lst_name=['林黛玉','薛宝钗','贾元春','贾探春','史湘云']lst_sign=['①','②','③','④','⑤']foriinrange(5):print(lst_sign[i],lst_name[i])print(�......
  • # P4391 [BOI2009]Radio Transmission 无线传输 题解
    [BOI2009]RadioTransmission无线传输题目描述给你一个字符串\(s_1\),它是由某个字符串\(s_2\)不断自我连接形成的(保证至少重复\(2\)次)。但是字符串\(s_2\)是不确定的,现在只想知道它的最短长度是多少。输入格式第一行一个整数\(L\),表示给出字符串的长度。第二行给出......