Python 彩蛋 —— 开发人员留下的惊喜

news2025/1/17 0:04:18

Python 彩蛋 —— 开发人员留下的惊喜

简介:Python 核心程序开发人员在软件内部设计了2个彩蛋。一起来看看吧。

文章目录

  • Python 彩蛋 —— 开发人员留下的惊喜
    • 💡彩蛋一:Python 之禅
    • 💡彩蛋二:Python 有趣的漫画

💡彩蛋一:Python 之禅

Python 社区的理念都包含在蒂姆·彼得斯(Tim Peters)撰写的“Python之禅”中。想要了解这些编写优秀Python代码的指导原则,只需要在解释器中执行命令import this

请添加图片描述
《Python之禅》原文⬇️

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之禅》,蒂姆·彼得斯著

  • 美丽优于丑陋。(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.)

含义:精准地捕获异常,不写 except: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.)

  • 做也许好过做,然而不假思索还不如不做。(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.)

含义:Python致力于简化程序员的工作。程序需要编写它的程序员可以理解。如果“高性能”代码过于复杂以致程序员无法理解,那么它就是不好的代码。

  • 命名空间是个绝妙的主意,我们应当多加利用(Namespaces are one honking great idea – let’s do more of those!)

含义:要好好利用命名空间。命名规范,名称不冲突。



💡彩蛋二:Python 有趣的漫画

xkcd是由兰德尔·门罗(Randall Munroe)所绘制的网络漫画,作者给作品的定义是一部“关于浪漫、讽刺、数学和语言的网络漫画” 感兴趣的可以在解释器中执行命令import antigravity 或xkcd链接。

请添加图片描述



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/435396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员面试完之后,人麻了...

去面试吧 面不被录用的试 面hr为了完成任务的试 面一轮二轮没有下文试 面需要通勤2小时的试 面随时加班的试 ...... 今年的“金三银四”被网友们称为“铜三铁四”,招聘软件上的岗位都能背下来了,简历却依然石沉大海。 好不容易等来个回复&#xff…

南京邮电大学通达学院2023《电子装配实习》报告

南京邮电大学通达学院2023《电子装配实习》报告 一 声明二 题目/实习报告提示三 例答 红笺寄 休遣玉人知 ——赠nmy 一 声明 南京邮电大学通达学院2023《电子装配实习》报告 答案更新时间:2023.04.10,已更新完成,如无错误不在更新 由于作者解答能力有限…

计算带宽使用情况

由于大多数组织依靠其 IT 基础架构进行日常业务关键型运营,因此网络带宽可以对其网络性能产生巨大影响。连接不良可能会使组织花费大量资金并影响生产力。这就是为什么监控和计算带宽使用情况对于确保组织的最佳网络带宽性能至关重要的原因。 在计算企业的带宽使用…

Linux以非堵塞模式执行shell脚本

1. HOW 我们在linux系统的终端执行命令的时候,有些命令可以很快的执行完退出,我们就可以继续使用这个终端了 比如 ls 这个命令,它执行的很快,等他返回完结果之后,我们可以继续使用这个终端。 还有部分命令是不会立马…

算法——双指针技巧总结

算法——双指针技巧总结 一、双指针二、链表快慢指针19.删除链表的倒数第 N 个结点双指针 206.反转链表思路:双指针法递归法 92.反转链表 II1.递归2.迭代(双指针头插法) 876.链表的中间结点常规思路双指针思路 141.环形链表(判断链…

【安全与风险】恶意软件:概念、攻击和检测

恶意软件:概念、攻击和检测 恶意软件的定义恶意软件的类型易损性如何防范恶意软件:终端用户的观点不足防病毒软件基于主机的恶意软件检测特征检测启发式检测 数据收集挑战沙箱分析蜜罐 恶意软件的定义 Malware一词是恶意软件的缩写。 恶意软件是任何以破坏设备、窃取数据为目…

Ubuntu Desktop 启用远程桌面(Vino和TigerVNC方式)

文章目录 前言使用Vino方式无显示器使用使用TigerVNC方式 前言 在很多领域的生产开发工作中常常需要用到 Ubuntu Desktop 系统,但是在一些日常的工作交流中又离不开Windows系统,这种时候比较常用的解决方案就是在Windows系统上使用虚拟机安装Ubuntu。不…

【广州华锐互动】AI高仿真数字人在企业服务中的应用

虚拟数字人是指利用人工智能技术和计算机图形学生成的高度逼真的虚拟人形象,它可以模拟人类的语言、情感、行为和外貌,从而成为一种强大的营销工具,可以为企业带来多种商业价值。 广州华锐互动作为一家15年虚拟现实内容制作商,已…

CSS背景,元素显示模式,盒模型

文章目录 颜色取值选择器进阶复合选择器后代选择器:空格子代选择器 并集选择器(union selector)交集选择器(intersection selector)emmet语法hover伪类选择器 背景相关背景颜色背景图片背景平铺图片位置背景相关连写im…

文字大小PointSize和PixelSize

无论PointSize(点大小)还是像素大小(PixelSize),描述的都是文字在输出设备(显示屏、打印机等)上呈现的大小 首先理解两个概念:DPI(Dots per Inch) 和 PPI(Pix…

295-光纤数据收发 隔离卡 加速计算卡 基于 Kintex-7 XC7K325T的半高PCIe x4双路万兆光纤收发卡

基于 Kintex-7 XC7K325T的半高PCIe x4双路万兆光纤收发卡 一、板卡概述 板卡采用Xilinx公司的XC7K325T-2FFG900I芯片作为主处理器,可应用于万兆网络、高速数据采集、存储;光纤隔离网闸等领域。 二、功能和技术指标: 板卡功能 参…

背锅侠?软件测试各类bug分类定位,从功能到性能超细总结......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 遇到功能性问题&a…

【服务器数据恢复】NetApp存储中的oracle数据库数据恢复案例

服务器数据恢复环境: NetApp某型号存储,共96块SAS硬盘,划分的lun都映射给小型机使用,存放的是Oracle数据库文件,采用ASM裸设备存储方式。 服务器故障: 管理员误操作删除了该NetApp存储上的所有lun。具体情…

【Java】Java绘制UML图

1.继承关系(Inheritance) 继承指的是一个类(子类、子接口)继承另外的一个类(父类、父接口)的功能,通过关键字 extends 明确标识 UML图 继承用一条带空心三角箭头的实线表示,从子类…

数字孪生可实现三维可视化智慧园区吗?

随着城市化的进程和信息化的发展,越来越多的城市拥有了智慧园区这一新的城市形态,通过“互联网”和物联网技术,实现了各种功能部门之间的信息共享与协同,提高了园区服务的质量和效率。然而,如何更好地实现园区管理和运…

DNS服务的正反向解析

目录 1.DNS域名解析服务概括 产生原因 作用: 2.正向解析 2.1 准备工作,关闭selinux和防火墙 2.2 安装DNS软件 2.3 服务端操作,编辑DNS主配置文件 2.4 服务端操作,编辑区域配置文件,可以在最后添加&#xff0c…

OpenAI文档翻译——搭建第一个自己的ChatGPT应用

这篇主要是讲了重头到位创建一个基于OpenAI API的应用程序的过程,同时给出了Node.js、Python版本的实例代码。应用程序的构建总体来说是很简单的就是一个接口调用,前提是我们需要提供密匙。 如果想要获取更好的结果返回一个是可以给模型提供一些列子从而…

9.5 数组的指针和指向数组的指针变量-2

9.5 数组的指针和指向数组的指针变量-2 一.数组名作为函数参数(1)实参和形参都是数组名(2)实参用数组名,形参用指针变量(3)实参和形参都用指针变量,这个和(2)…

Leetcode-day1【80】删除有序数组中的重复项 II

文章目录 80. 删除有序数组中的重复项 II题目解题思路解题思路【学习】双指针 80. 删除有序数组中的重复项 II 题目 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。…

CBAM小陈读paper系列

忘记做笔记了,只能 把看文章的PDF保存下来了