首页 > 编程语言 >python之禅 代码规范

python之禅 代码规范

时间:2023-05-23 10:12:16浏览次数:44  
标签:简洁 优美 之禅 python 代码 Python

触发方法:在python解释器中输入 import this

 

Python之禅 by Tim Peters()

 

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

————————————————

版权声明:本文为CSDN博主「你好,我叫正阳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_61996032/article/details/124323916

标签:简洁,优美,之禅,python,代码,Python
From: https://www.cnblogs.com/tslam/p/17422499.html

相关文章

  • Linux 升级安装 Python3
    下载#安装依赖[root@localhost~]#yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devellibffi-devel#下载Python3.8【可以用讯雷下好,拖到Linx中】[root@localhos......
  • 代码修改的git命令提交过程
    首先,克隆远程仓库到本地:gitclone<remote_repository_url>进入本地仓库目录:cd<local_repository_directory>创建并切换到一个新分支:gitcheckout-b<new_branch_name>修改代码并保存更改。添加修改后的文件到暂存区:gitadd<file_name>提交更改到本......
  • Python多线程爬虫又来了
    Python多线程的主要好处是可以在单个程序中同时执行多个任务,从而提高应用程序的性能和效率。具体来说,多线程有以下几个优点:提高CPU利用率:通过多线程,可以更充分地利用CPU资源,尤其适用于计算密集型的任务。降低IO阻塞:对于需要等待IO操作完成的任务(如网络请求或文件读写),将它们放入......
  • 代码随想录算法训练营第9天 | ●28. 实现 strStr() ●459.重复的子字符串 ●字符串总
     第四章 字符串part02今日任务  ● 28. 实现 strStr()● 459.重复的子字符串● 字符串总结 ● 双指针回顾   详细布置  28. 实现 strStr()  (本题可以跳过) 因为KMP算法很难,大家别奢求 一次就把kmp全理解了,大家刚学KMP一定会有各种各样的疑问......
  • 代码随想录算法训练营第10天 | ● 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现
     第五章 栈与队列part01●  day 1 任务以及具体安排:训练营一期day 1 ●  day 2 任务以及具体安排:day 2 第一章数组●  day 3 任务以及具体安排:day 3 第二章 链表●  day 4 任务以及具体安排:day 4 第二章 链表●  day 5 周日休息●  ......
  • 代码随想录算法训练营第11天 | ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重
     第五章 栈与队列part02今日内容:  ●  20. 有效的括号●  1047. 删除字符串中的所有相邻重复项●  150. 逆波兰表达式求值  详细布置   20. 有效的括号  讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。  大家先自己思考一下 有......
  • 代码随想录算法训练营第13天 | ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总
     第五章 栈与队列part03今日内容:  ●  239. 滑动窗口最大值●  347.前 K 个高频元素●  总结  详细布置    239. 滑动窗口最大值 (一刷至少需要理解思路) 之前讲的都是栈的应用,这次该是队列的应用了。 本题算比较有难度的,需要自己去构造......
  • 代码随想录算法训练营第14天 | ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代 -
     第六章二叉树part01今日内容:  ●  理论基础●  递归遍历  ●  迭代遍历●  统一迭代   详细布置   理论基础  需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义  文章讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%......
  • Python自动化办公对每个子文件夹的Excel表加个表头(Excel不同名)(上篇)
    大家好,我是皮皮。一、前言上一篇文章,我们抛出了一个问题,这篇文章来进行解答。如果针对子文件夹下不同的Excel表名,应该如何处理?二、实现过程我们继续问ChatGPT,它给出了一个方法,如下所示:提问如下:假如你是一名Python程序员,现在你有一个自动化办公的需求,你桌面上有一个新建文件夹......
  • python的私有属性
    对于python来说,其并没有像C#、Java那样使用关键字的形式对变量进行访问控制而是使用左至少两个下划线,右至多一个下划线的形式(__kwargs)表明一个变量是私有变量第一种场景,没有使用私有变量,结果与预期有出入,结果输出b3而在我们的预期中,子类传入两个kwargs,子类的init函数对kwarg......