上世纪 90 年代末,一位爱看计算机杂志的自豪少年在机缘巧合下,加入了一场技术团聚。“过后我就震惊了!”这位少年起初说道。除了本人,他发现团聚上的其他人仿佛都学识渊博。对于那些被热烈探讨的编程常识,他只能拍板附和,齐全插不上话。
回到家后,这位少年下定决心要恶补编程常识,至多要在下一次团聚时插得上话啊!日复一日、月复一月,他在浩瀚的代码陆地里挣扎。当下一次技术团聚终于来长期,他依然只能拍板附和。正所谓学海无涯,上岸太难……
所幸,这位少年最终脱离了苦海,并成长为 Python 意见首领。他就是 Al Sweigart。
Python 大佬 Al Sweigart
要说 Python 社区的大佬,Al Sweigart 相对算得上一位。他是 Python 软件基金会的 Fellow,也是十分沉闷的 Python 常识传播者。Al Sweigart 的 YouTube 频道有 10 万以上的粉丝,他的 Python 在线课程则已笼罩寰球 100 万以上的学生。
或者,你更相熟他的 Python 入门书《Python 编程疾速上手》(Automate the Boring Stuff with Python)——原版封面上写着销量已超 50 万册。但正如他说的,即使是他本人,在试图沿着编程之路走得更远时,也不免磕磕绊绊。
“软件开发远不止循环和函数。一旦你学完入门教程或者读完编程入门书,试图探寻进阶法门时,却总是会兜兜转转找到另外一个 Hello World 级别的入门疏导。你在不同的学习材料之间漫无目的地彷徨,感觉本人毫无出息。你早就不是初学者了,但教训又少得可怜,基本没法解决简单一些的问题。”Al Sweigart 太相熟这种感觉了。他把这个阶段称为程序员的“失望沙漠”。
如果你正艰巨地行走在这个“失望沙漠”中,那么好消息是,Al Sweigart 专门写了一本书来引领你找到走出沙漠的路。这本书适宜谁这本书旨在成为你在 Python 进阶路上的引路人。如果你刚学完《Python 编程:从入门到实际(第 2 版)》(蟒蛇书)或者 Al Sweigart 的 Python 入门书《Python 编程疾速上手》,渴望进一步晋升 Python 常识,那么你就是这本书的最佳读者。
你能够学到什么
01 正确发问
哎呀!你好不容易写的程序又报错了。这个时候,你很容易对计算机产生怨气。尽管花了几个月的工夫学习 Python,但仍须要频繁地从网上搜寻答案,这很容易让人产生挫败感。不过请记住,即便是业余的程序员,也须要通过在网上搜寻或者查阅文档来解决编程中遇到的麻烦。Stack Overflow 的考察甚至显示,有 62% 的程序员每天会花半小时以上的工夫在网上查找解决问题的办法 [1]。如果了解 Python 的报错音讯,并高效地在网上寻求帮忙,相对值得好好学习。这本书用了一章的篇幅来帮你取得这项必备技能。
02 写可读性强的代码
如果你发现共事写了一个名为 gooseDownload() 的函数,你会作何反馈?你们的我的项目筹备提供大鹅下载性能吗?
当然不是!Al Sweigart 在书中讲了他的亲身经历。原来,写这个函数的共事心愿通过该函数放慢产品的下载速度,而少有人晓得,goose 能够作为动词,比方 goose the engine 的意思是让发动机转得更快。
命名有什么考究,又有什么陷阱?在为变量、函数、类等编程中的元素命名时,简洁而有形容意义的名称可能大大晋升程序代码的可读性。这其中有哪些奇妙的办法?Al Sweigart 在这本书中为你娓娓道来。
03 代码的底层逻辑
Al Sweigart 在书中应用了 Python Tutor,这是一个便捷的在线代码可视化工具,能够帮忙你逐行了解代码的底层逻辑。来看一个例子。
04 更多内容助你从老手到高手
目录第一局部 起步第 1 章 处理错误和寻求帮忙第 2 章 环境设置和命令行第二局部 最佳实际、工具和技巧第 3 章 应用 Black 进行代码格式化第 4 章 抉择易懂的名称第 5 章 揪出代码的坏滋味第 6 章 编写 Python 格调的代码第 7 章 编程术语第 8 章 常见的 Python 陷阱第 9 章 Python 的奇异难懂之处第 10 章 编写高效的函数第 11 章 正文、文档字符串和类型提醒第 12 章 通过 Git 治理我的项目第 13 章 性能测量和大 O 算法剖析第 14 章 我的项目实战第三局部 面向对象的 Python 第 15 章 面向对象编程和类第 16 章 面向对象编程和继承第 17 章 Python 格调的面向对象编程:属性和魔术办法
业内佳评
“对于 Python 老手,如果想让本人更上一层楼,那么这是难得的进阶书。”
——Kushal DasCPython 外围开发者 Python 软件基金会董事
“这本书聚焦于三个主题:解决高级进阶的重重困难;Python 实际、工具和技巧;面向对象编程。相比从多个学习资源中开掘常识,读这本书更有用。”
——Serdar YegulalpInfoWorld 专栏作家