Python之禅 -- 致初学者

简介: Python之禅 -- 致初学者

Python之禅

Python社区的理念 ————“Zen of Python"

想要获悉这一指导原则,只要在Python解释器中执行命令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.
......
  • 让我们来揭开这些有关优秀代码的秘密

The Zen of Python, by Tim Peters

python之禅,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.

除非你是荷兰人,否则这种方式一开始可能并不明显(这里指的是Python之父Guido)

Now is better than never.

现在开始做比不做好,所以如果想学编程却还在犹豫,请开动吧!

Although never is often better than right now.

不做比盲目去做好,极限编程的关键原则[YAGNI 是You Ain’t Gonna Need It(你不会需要它)]。即不要不要做过度设计

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!

命名空间是一个非常棒的想法——让我们更多地使用命名空间!(避免多人开发导致变量名重名情况,人手设置一个)

进程已结束,退出代码0,你现在是否学会了优秀代码的秘诀了呢?

今日份推荐

  1. python的学习还是要多以练习为主,想要练习python的同学,推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费
    图片.png
  2. 他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
    图片.png
  3. 牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。
    快点击下方链接学起来吧!
    牛客网 – 刷题神器



相关文章
|
人工智能 数据库 云计算
🔥躺着赚佣金!阿里云推荐计算巢服务让你轻松"带货"云计算
阿里云推出“推荐服务赚佣金”计划,无需技术背景,分享链接即可轻松赚取额外收入。高达20%佣金,200+精选服务任选,实时追踪收益,适合个人推广的数字副业!
1090 9
|
2月前
|
缓存 Serverless API
【神州租车】企业级问答助手 Agentic 最佳实践
企业级问答助手 Agentic 最佳实践
282 0
|
4月前
|
SQL 人工智能 自然语言处理
当Agent涌入企业,阿里云如何补齐RAG这关键一环?
对企业来说,智能体能否真正落地,除了模型能力,还要能安全、准确、可追溯地使用企业自己的知识。
471 0
|
5月前
|
存储 人工智能 运维
千亿级 AI 搜索的效能实战:从混合检索到 Agentic RAG 的三年实战
本文为2026 Elastic中国大会演讲实录,直击千亿级AI搜索三大挑战:搜索融合(关键词+向量+稀疏检索原生一体)、极致效能(冷热分层、硬件降级、自研FalconSeek引擎)与Agentic RAG演进(结构化知识图谱+智能体自主推理),揭示企业级AI搜索从“能用”到“好用”再到“自进化”的实战路径。
1055 8
|
机器学习/深度学习 人工智能 数据库
RAG 2.0 深入解读
本文从RAG 2.0 面临的主要挑战和部分关键技术来展开叙事,还包括了RAG的技术升级和关键技术等。
2421 85
|
JavaScript 中间件 测试技术
FastAPI全面指南:从入门到企业级应用实战
FastAPI正迅速成为Python Web开发领域的明星框架。它以高性能、高效率和现代化特性著称,性能媲美Go/Node.js,支持异步编程并内置自动化文档系统。本文全面解析FastAPI核心功能,包括类型安全路由、Pydantic数据验证、异步支持等,并通过实战案例展示其在RESTful API开发、微服务架构、实时数据处理及机器学习模型部署中的应用。同时,文章提供数据库集成、中间件配置和测试策略等最佳实践,解决常见问题并展望未来技术发展方向。掌握FastAPI,助你构建高效现代化Web应用。
2509 1
|
前端开发 Go API
Coze Loop 架构学习指南
本指南系统解析 Coze Loop 架构,涵盖项目结构、DDD 设计、技术栈与学习路径,助你从零掌握 AI Agent 平台开发与贡献。
1022 2
|
数据可视化 JavaScript 前端开发
n8n零基础入门:5分钟搭建你的第一个自动化工作流
厌倦重复操作?用n8n,5分钟搭建自动化工作流!本文教你通过Docker快速部署n8n,连接Manual Trigger与Slack节点,实现一键发送定制消息。可视化拖拽界面,无需编程基础,轻松入门自动化。
|
人工智能 编解码 算法
VideoFusion:开源视频处理神器!一键去黑边水印,AI提升画质+批量剪辑全搞定
VideoFusion 是一款开源的AI视频剪辑工具,支持自动去除视频黑边、水印和字幕,提供批量处理、画质提升等功能,适合视频创作者和自媒体运营者使用。
2279 3
|
存储 消息中间件 NoSQL
Redis从入门到精通之底层数据类型Stream详解和使用示例
Redis Stream的底层数据结构还涉及到基数树和listpacks,这些结构使得Redis Stream具有高效的空间和时间复杂度,同时允许通过ID进行随机访问。 基数树是一种高效的数据结构,用于存储有序数据集合。在Redis Stream中,消息ID有序集合就是基于基数树实现的。基数树可以快速定位一个元素在有序集合中的位置,以及在有序集合中查找一段范围内的元素。 listpack是一种紧凑的、可扩展的、有序的、二进制数据结构,用于存储多个元素。在Redis Stream中,消息哈希表就是基于listpack实现的。listpack可以高效地存储多个元素,同时支持快速的元素访问插入。
2510 127
Redis从入门到精通之底层数据类型Stream详解和使用示例

热门文章

最新文章