【Python入门·预备知识】1.2 程序设计思想——《跟老吕学Python编程》

【Python入门·预备知识】1.2 程序设计思想——《跟老吕学Python编程》

Python程序设计思想


在编程世界里,Python凭借其简洁、易读和强大的功能库,早已赢得了无数开发者的青睐。谈及Python的程序设计思想,不得不提及其创始人——Guido van Rossum,被尊称为“龟叔”的他,以其独特的程序设计思想,赋予了Python生命与灵魂。


最初的程序设计思想


“龟叔”(Guido van Rossum,Python的创始人)最初的Python程序设计思想,可以概括为“明确优于隐晦”、“简单优于复杂”、“读取代码优于编写代码”三大原则,其贯穿了Python的始终,强调的是一种“简洁而直接”的编程风格。这种风格的核心在于,通过清晰、简洁的代码来表达程序的逻辑,避免不必要的复杂性和冗余。在Python中,这种思想得到了充分的体现,从语言本身的语法设计,到标准库的构建,再到第三方库的生态,都围绕着这一核心思想展开。


明确优于隐晦

意味着在编写代码时,应该尽量让代码的目的和意图一目了然。Python通过强制缩进和简洁的语法,使代码结构清晰易读。这样的设计,使得新手能够快速上手,老手也能在阅读代码时迅速把握整体逻辑。


简单优于复杂

是龟叔对程序设计的另一核心理念。Python避免了过度设计和不必要的复杂性,它提供的语法和功能,都是为了让开发者能够用最简单的方式解决问题。这种设计哲学,使得Python成为了初学者的理想选择,同时也让资深开发者能够在短时间内完成复杂的任务。


读取代码优于编写代码

强调了代码的可维护性和可持续性。Python鼓励编写“文档字符串”(docstring),要求函数和方法必须有明确的注释说明,这不仅方便了其他开发者理解代码,也为未来的维护和扩展提供了便利。


完整的程序设计思想


在Python的发展过程中,后续的核心开发团队在“明确优于隐晦”、“简单优于复杂”、“读取代码优于编写代码”原则的基础上完善成为“Python之禅”。他们不断对语言进行优化,引入新的特性,如列表推导式、生成器、装饰器等,都是为了让代码更加简洁、易读。同时,他们也强调代码的“优雅”,鼓励程序员写出既美观又实用的代码。

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.
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!

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 !

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

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


总结


Python之禅不仅为Python社区提供了一种编程的指导思想,更是为所有程序员树立了一种追求卓越的编程哲学的典范。

Python之禅强调了可读性计数,这是因为在编程的世界里,清晰、易懂的代码比任何复杂的算法都更为重要。毕竟,代码最终是由人来阅读和维护的,如果连自己都无法理解自己编写的代码,那么这段代码的生命周期也就可想而知了。

Python作为一种高级编程语言,自然也十分重视代码的可读性。为了进一步提升代码的可读性和可维护性,Python在后续版本中引入了许多创新性的语法特性。例如,f-string的引入使得字符串的格式化变得更为直观和简洁;walrus operator的加入,则在赋值的同时进行了条件判断,进一步减少了代码的冗余。这些特性都在悄无声息中,为Python代码的可读性增添了不少分数。

“一种方法,一种途径”的哲学,则更是Python之禅的精髓所在。在Python中,我们倾向于使用一种最为直观、最为简洁的方法来解决问题。这不仅可以减少代码中的冗余和混乱,还可以使得代码更加易于理解和维护。这种哲学在Python的许多设计决策中都有所体现,比如Python对于缩进的高度重视,就是为了让代码的结构更加清晰明了。

Python之禅不仅仅是一段代码,更是一种编程哲学的体现。它告诉我们,编程不仅仅是一种技术,更是一种艺术。我们应该追求简洁、明确、优雅的代码,而不是复杂、混乱、冗余的代码。只有这样,我们才能写出真正有价值的代码,才能为这个世界带来更多的美好。

Python之禅不仅是Python程序设计思想,其也为我们提供了一种编程的指导思想,更为我们提供了一种追求卓越的编程哲学。我们应该时刻铭记这一哲学,不断提高自己的编程水平,为世界带来更多的美好和价值。




👨‍💻博主Python老吕说:如果您觉得本文有帮助,辛苦您🙏帮忙点赞、收藏、评论,您的举手之劳将对我提供了无限的写作动力!🤞


🔥精品付费专栏:《跟老吕学Python编程》《Python游戏开发实战讲解》《Python Web开发实战》《Python网络爬虫实战》《Python APP开发实战》


🌐前端:《HTML》《CSS》《JavaScript》《Vue》


💻后端:《C语言》《C++语言》《Java语言》《R语言》《Ruby语言》《PHP语言》《Go语言》《C#语言》《Swift语言》《跟老吕学Python编程·附录资料》


💾数据库:《Oracle》《MYSQL》《SQL》《PostgreSQL》《MongoDB》


最近更新

  1. TCP协议是安全的吗?

    2024-04-29 16:44:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 16:44:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 16:44:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 16:44:01       20 阅读

热门阅读

  1. vue 快速入门 系列 —— 玩转 CMS

    2024-04-29 16:44:01       10 阅读
  2. 【校招VIP】985 211求职策略

    2024-04-29 16:44:01       13 阅读
  3. 【设计模式】12、observer 观察者模式

    2024-04-29 16:44:01       12 阅读
  4. 【C语言】变量占用内存的大小&&内存对齐

    2024-04-29 16:44:01       13 阅读
  5. Doris 数据集成 Kafka

    2024-04-29 16:44:01       12 阅读
  6. 学习Python的第三天

    2024-04-29 16:44:01       10 阅读
  7. 前端开发中浏览器兼容问题总结

    2024-04-29 16:44:01       13 阅读
  8. 正则表单校验的几种场景

    2024-04-29 16:44:01       13 阅读
  9. Oracle索引详解

    2024-04-29 16:44:01       11 阅读
  10. spring 事务详解

    2024-04-29 16:44:01       11 阅读
  11. 策略模式:灵活定义一系列可互换的算法

    2024-04-29 16:44:01       12 阅读
  12. oracle 归档日志删除策略

    2024-04-29 16:44:01       11 阅读