Python 3学习笔记(上卷) - (EPUB全文下载)

文件大小:0.17 mb。
文件格式:epub 格式。
书籍内容:

Python 3学习笔记(上卷)
第1章 概述
第2章 类型
第3章 表达式
第4章 函数
第5章 迭代器
第6章 模块
第7章 类
第8章 异常
第9章 元编程
第10章 进阶
第11章 测试
第12章 工具
封底
第1章 概述
Python是一门相当有趣的编程语言。
其始于 1989 年末,约莫而立之年,比许多程序员的年龄还要大。在这段漫长的时光里,它见证了 C++的兴盛和群雄大战,看到了 Java 的异军突起和如日中天,更有同类Ruby凭借 RoR 领一时风骚,还有习惯丢三落四却每每笑到最后的VC被同族怼得灰头土脸。
在这期间还发生过什么?面向对象、设计模式、多层架构、面向服务等数不清的概念和名词。以程序界的划代标准,这已然是一个早该供在 WiKi 里的老古董,偶尔被某个年纪大的前辈拉出来讲古。然而,历经世事变幻,一朵朵“白莲花”最终都免不了闹个“腹黑”收场。就连当年那些无敌论的吹鼓手,如今都成了大肆指摘的异见人士。
且不管风云如何,Python活得很好,依旧占据排行榜前列,可见其不全然是一部遗存的程序设计编年史。Python不仅能当“胶水”写工具脚本,还借着大数据、深度学习、机器学习和人工智能的风潮,一跃成为当红之选。
当然,事物总有两面性。一方面,我们能从雨后春笋般出现的新技术支持名单里找到它的身影;而另一面,身边似乎并无多少人去使用或关注它。它被推荐给孩子作为编程入门语言,也被专业人士用于特定场合,可恰恰在靠编程吃饭的程序员主战场上位置尴尬。其虽然有浩如烟海的第三方支持,但说起来似乎只有系统维护和网站应用。所有这些,让我们对这门语言既熟悉又陌生。
喜欢它的各有因由,批评的则火力集中。在各大社区里,不乏有人对其性能、语法,乃至千年话题全局锁大加指责,以烘托某种语言才是更好的选择。这源自部分开发人员,尤其是新人追求大而全的心理,缺乏理性定位。历史上,还从没有一种语言能包办所有应用,更不曾讨好过所有人。
作为应用语言,脑门还刻着简单和优雅字号,自然要支持各时期的主流编程范式,竭力涵盖各类应用范畴,还需大费周章将复杂封装并隐藏起来,以期换取惯常喜新厌旧的程序员垂青。所以,从中你能看到命令式、函数式、面向对象、面向切面等程序设计方式。这造就了其广泛的支持,也带来易学难精的后果。历史包袱出现在所有步入中年的技术身上,其中有操作系统,有浏览器,自然也有编程语言。呼吁某某减肥和变革的声音不绝于耳,而后是新生代迈着轻盈的步伐后来居上。
可换个角度看,正因为与时俱进和兼容并蓄,方能存活至今。那些特立独行的,反倒未必笑到最后。君不见,方兴未艾的各路 NoSQL 不但因功能单一而横遭嫌弃,还遭看似老朽的“革命对象” RDBMS 反戈一击。要么纯粹享受寂寞,要么广博得汇溪成海。以“色”娱人,能讨巧于一时,终难长久。人们总有个错觉,似乎新技术是凭空出现,是年轻人的主场。但实际上,其依托早已存世,或埋于地下,或束之高阁,且待时机。
Python的简单和周全,降低了非专业人士的使用门槛,毕竟他们的精力不会放在语言身上。此时,广泛支持就成为优点,即便不了解面向对象,也可用面向过程写点什么。更何况,那令人咋舌的生态系统里,总能找到你需要却又无法实现的东西。相当有趣的是,很有些专业扩展库,恰恰是用程序员看不上眼的代码完成的。兴许,作者只是个数学家,或图形学方面的天才。是以,任何一种设计都有其出现的原因和存在的理由。
在国内,将 Python 当作主力编程语言的人群很有限,其影响力和热度甚至不如某些后来者。这固然有其自身的种种原因,可社区疲软也显而易见。不管境况如何,难得有这样一门能长久陪伴,且行事周全的语言用于工作和学习,大家须珍惜。
Python 3
如果你对Python 3的了解尚停留在数年以前,那是时候更新一下认知了。下面这样一段文字,或许可代表生态圈的主流态度。
What Python version should I use with Django ?
Python 3 is recommended.Django 1.11 is the last version to support Python 2.7.Support for Python 2.7 and Django 1.11 ends in 2020.
Since newer versions of Python are often faster,have more features,and are better supported,the latest version of Python 3 is recommended.
You don’t lose anything in Django by using an older release,but you don’t take advantage of the improvements and optimizations in newer Python releases.
—— Django FAQ
最初,迁入Python 3的阻碍可能是某个扩展库不支持,这也是很多人的主要理由。但到了今天,在Python 3 Readiness所统计的最流行的360个包里,有超过95%支持Python 3。起码对于新项目,这已不是问题。
另一个理由,应该是Python 3早期那让人失望的性能。可自2008年发布,至今9年,期间经多个版本的优化改进,其性能改善良多,早已不再是“弱鸡”的形象。
尽管在多年前,官方将Python 2.7 EOL(end of life)推迟到2020年。可晃悠至今,所余时间已不足三年。即便因某些原因再度推迟,那也不是新项目继续使用2.7的理由,因为不会再有Python 2.8。
还有,Python 3的asyncio已成为主流异步框架。众多Web Framework、Database Driver等都已提供支持,并获得更好的执行性能。至于那些新增的、改进的,被摒弃且不合时宜的,等等,都值得我们去了解和 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Python 3学习笔记(上卷) - (EPUB全文下载)