Python之禅——跟老吕学Python编程

news2024/11/16 3:23:59

Python之禅——跟老吕学Python编程

  • Python之禅
    • 1.**Beautiful is better than ugly.**
    • 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.**Spare is better than dense.**
    • 7.**Readability counts.**
    • 8.**Special cases aren’t special enough to break the rules.**
    • 9.**Although practicality beats purity.**
    • 10.**Errors should never pass silently.**
    • 11.**Unless explicitly silenced.**
    • 12.**In the face of ambiguity , refuse the temptation to guess.**
    • 13.**There should be one – and preferably only one – obvious way to do it.**
    • 14.**Although that way may not be obvious at first unless you’re Dutch.**
    • 15.**Now is better than never.**
    • 16.**Although never is often better than right now.**
    • 17.**If the implementation is hard to explain , it’s a bad idea.**
    • 18.**If the implementation is easy to explain , it’s a good idea.**
    • 19.**Namespaces are one honking great idea – let’s do more of those !**

Python之禅


在Python解释器中输入“import this”会发生什么?

在Python IDLE Shell窗口中输入Python代码 import this 会有一段 “Python之禅” 格言,作者是内核开发者Tim PetersGuido 叔的 Python 语言设计指导原则浓缩为了 19 条开发哲学

源代码如下:

import this

Python之禅——跟老吕学Python编程

展示Tim PetersThe Zen of PythonPython之禅” 格言

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的理念都包含在Tim Peters撰写的 Python之禅 —— “import this” 中的指导原则对于我们是很重要的,能给予我们很大的帮助。



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.Spare is better than dense.

间隔胜于紧凑

优美的代码有适当的间隔,不要奢望一行代码解决问题



7.Readability counts.

可读性很重要

优美的代码是可读的



8.Special cases aren’t special enough to break the rules.

没有规矩,不成方圆

特例不足以打破这些原则



9.Although practicality beats purity.

实践打破真理

任何理论都需要经过实践的检验。



10.Errors should never pass silently.

错误永远不该被静默地传递下去

遇到错误,应认真的面对解决,而不是悄无声息的容忍放过它



11.Unless explicitly silenced.

除非必须这样做

要能够精确的捕获异常,处理异常。



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

面对模棱两可的答案,不要试图猜测

处理问题可以采用不同的方式解决,不要因为自己和别人的方式不同而质疑自己。



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

显而易见的是真理只有一个

一个程序让两个不同的人去编写,方案大致是一致的,并非没有创意空间,恰恰相反,大部分的工作使用常见的简单的方案解决。



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

万事开头难,因为你不是Python之父(这里的Dutch是指Guido)

学Python一开始都是困难的,而你又不是Python之父(这里的Dutch是指Python之父),坚持学习才能够学好Python。



15.Now is better than never.

现在开始做也为时未晚,远胜于永不开始做

学习的道路是从现在开始从来都不会晚,要相信学到老学到老,一直坚持学习才能够提升自己。



16.Although never is often better than right now.

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

“学而不思则罔”,学习需要思考,每次写一个程序一起以前需要经过一定的考虑,才开始写,会减少很多不必要的错误。



17.If the implementation is hard to explain , it’s a bad idea.

如果方案难以被解释清楚,那么一定是个烂方案

Python编程是简单而且直接的,如果你都没想明白整个程序的合理编写思路,那么还不如不要动手去写了。



18.If the implementation is easy to explain , it’s a good idea.

如果方案实现很容易解释,那么一定是个好方案

Python编程是简单而且直接的,如果你要编写的整个程序的思路清晰合理,那么你将会把这个方案做的很好。



19.Namespaces are one honking great idea – let’s do more of those !

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

命名空间是一个好的理念,善于运用



如果您觉得本文有帮助,辛苦您点个赞、收个藏、或评论一句,您的举手之劳将对我提供了无限的写作动力!
博主ID:Python老吕,希望大家点赞、评论、收藏。


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

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

相关文章

每日学习笔记:C++ STL 的List

定义 特点 操作函数 关于c.merge(c2)的分析,详见: 。。。。 C list merge()用法及代码示例 - 纯净天空 (vimsky.com) 异常安全性 运用实例

WPF Button去除按钮边框,添加下划线

<Button Width"45" Height"25" FontSize"20" Background"Transparent" BorderBrush"Transparent" Foreground"#FFC9A322" Click"Btn_Retry_Click" ><TextBlock><Underline>重试</…

Redis常见数据类型下

目录 Hash 哈希 常用指令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET 内部编码 Hash类型和关系型数据库 缓存方式对比 List 列表 特点 常用命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP / RPOP LINDEX LINSERT 阻塞(BLOCK)版…

STM32存储左右互搏 SPI总线读写SD/MicroSD/TF卡

STM32存储左右互搏 SPI总线读写SD/MicroSD/TF卡 SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元&#xff0c;由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡&#xff0c;手机领域用的TF卡实际就是MicroSD卡&#xff0c;尺寸比SD卡小&#xff0c;而电路和协…

中兴服务器R6900 G5实力领先,有效助力大模型训练

日前&#xff0c;中兴通讯推出专为大规模模型训练而设计的旗舰GPU服务器—R6900 G5。据悉&#xff0c;该中兴服务器具备卓越的计算性能、高速网络通信能力以及创新的能效表现&#xff0c;有望为人工智能和深度学习等领域带来全新的突破。 R6900 G5搭载了中兴通讯最新一代的英特…

开源的java视频处理库介绍

本文将为您详细讲解 Java 开源的视频处理库&#xff0c;以及它们的特点、区别和应用场景。Java 社区提供了多种视频处理库&#xff0c;这些库可以帮助您在 Java 应用程序中实现视频的录制、编辑、转换和播放等功能。 1. JCodec 特点 - 基于 Java 的视频编解码库。 - 支…

嵌入式C语言(八)

继续来看看新的属性&#xff1a;weak 这个符号知道是弱&#xff0c;但是这个是干嘛的呢&#xff1f;我们先来学习一下强符号和弱符号 强符号和弱符号 GNU C通过weak属性声明&#xff0c;**可以将一个强符号转换为弱符号。**使用方法如下。 void __attribute__((weak)) func(…

【OpenGL手册15】 多光源

目录 一、说明二、定向光三、点光源四、合并结果练习 一、说明 我们在前面的教程中已经学习了许多关于OpenGL中光照的知识&#xff0c;其中包括冯氏着色(Phong Shading)、材质(Material)、光照贴图(Lighting Map)以及不同种类的投光物(Light Caster)。在这一节中&#xff0c;我…

回收站删除的文件怎么恢复?这3个方法可行!

“求助&#xff01;回收站删除的文件还有没有机会恢复呀&#xff1f;我不小心将回收站清空了&#xff0c;但是有一些很重要的文件还在里面&#xff0c;应该怎么恢复它们啊&#xff01;” 在使用电脑的过程中&#xff0c;我们难免会遇到误删文件的情况。而当文件被删除并清空回收…

c++: 引用能否替代指针? 详解引用与指针的区别.

文章目录 前言1. 引用和指针的最大区别:引用不能改变指向2. 引用和指针在底层上面是一样的3. 引用和指针在sizeof面前大小不同4. 有多级指针,没有多级引用5.引用是引用的实体,指针会向后偏移同一个类型的大小 总结 前言 新来的小伙伴如果不知道引用是什么?可以看我的上一篇文…

Kubernetes | 起源 | 组件详解

起源 起源&#xff1a; Kubernetes&#xff08;常简称为K8s&#xff09;起源于Google内部的Borg项目&#xff0c;是一个开源的容器编排引擎&#xff0c;于2014年首次对外发布。 Google Borg Google Borg 是 Google 内部开发和使用的大规模集群管理系统&#xff0c;用于管理和运…

锐捷 EWEB auth 远程命令执行漏洞复现

一、漏洞信息 漏洞名称:锐捷 EWEB auth 远程命令执行漏洞 漏洞类别:远程代码执行 风险等级:高危 二、漏洞描述 锐捷睿易是锐捷网络针对商业市场的子品牌。拥有易网络、交换机、路由器、无线、安全、云服务六大产品线,解决方案涵盖商贸零售、酒店、KTV、网吧、监控安防…

GPT出现Too many requests in 1 hour. Try again later.

换节点 这个就不用多说了&#xff0c;你都可以上GPT帐号了&#xff0c;哈…… 清除cooki 然后退出账号&#xff0c;重新登录即可

KBL610-ASEMI开关电源专用KBL610

编辑&#xff1a;ll KBL610-ASEMI开关电源专用KBL610 型号&#xff1a;KBL610 品牌&#xff1a;ASEMI 封装&#xff1a;KBL-4 最大重复峰值反向电压&#xff1a;1000V 最大正向平均整流电流(Vdss)&#xff1a;6A 功率(Pd)&#xff1a;中小功率 芯片个数&#xff1a;4 …

encoding和embedding的区别

本文作者&#xff1a; slience_me 文章目录 encoding和embedding的区别EmbeddingEncoding总结 encoding和embedding的区别 “Embedding” 和 “Encoding” 是两个在计算机科学和机器学习领域中常用的术语&#xff0c;它们虽然有些相似&#xff0c;但指代的概念和用途有所不同。…

国创证券|lpr下调25个基点是多少?lpr下调对股市债市有什么影响?

lpr是借款市场报价利率&#xff0c;其间lpr下调25个基点是指lpr利率下降0.25%&#xff0c;比方&#xff0c;下调之前五年期以上的lpr为4.2%&#xff0c;下调25个基点之后&#xff0c;变为3.95%。 lpr下调对股市债市存在以下影响&#xff1a; 1、券商股 借款利率下降&#xf…

发现创作灵感的聚集地:乐歌M9G与M9S升降办公台对比解析

在现代工作环境中&#xff0c;全天待在桌前的时间已经超过了其他的项目&#xff0c;尤其是以编程开发、动画设计为主的互联网从业者&#xff0c;工作量的增加&#xff0c;会导致颈椎和腰椎僵硬&#xff0c;根据人工工程学提出的人与环境之间的协调关系&#xff0c;对于上班一族…

ssm蛋糕甜品商城系统(程序+文档+数据库)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

场的概念---数量场(标量场)和矢量场介绍理解

目录 一、场的概念 二、场的分类 三、数量场&#xff08;标量场&#xff09;的等值面 四、矢量场中的矢量线 矢量线方程推导&#xff1a; 一、场的概念 场在数学上是指一个向量到另一个向量或数的映射。场指物体在空间中的分布情况。场是用空间位置函数来表征的。在物理学…

C#集合和数据结构,随笔记录没空排版,,,

C#集合和数据结构 System.Collections命名空间包含接口和类&#xff0c;这些接口和类定义各种对象&#xff08;如列表/链表、位数组、哈希表、队列和堆栈&#xff09;的集合 System.Collections.Generic命名空间&#xff1a; 所有集合都直接或间接基于ICollection接口 列表类集…