来了!《Python黑魔法指南》v3.0 版本

作者: 王炳明 分类: Python 教程 发布时间: 2021-07-23 08:45 热度:352

在上周,我摘取《Python黑魔法指南》v3.0 中的一个章节,单独整理成一篇文章发表出来,给大家分享干货的同时,也作为一个预告篇,把 flag 立下,逼一下自己早点把 PDF 做好,不然按照我这拖延的毛病,可能再过几个月也完不成。

考虑第二版到现在已经一年过去,中间陆续也新增了不少读者,这些人很多还不知道这本电子书的存在,一下就 3.0 了,难免会懵圈,所以我还是花点时间介绍一下。

《Python黑魔法指南》原本是取材于我在 2018 年的一个文章系列 《谈谈 Python 那些不为人知的冷知识》,每一篇都会分享 5 个我认为比较冷门的知识、或者高效的技巧。

对于当时仅有 几千个读者我来说,能有这个阅读量说明读者还比较喜欢这个系列的文章。

来了!《Python黑魔法指南》v3.0 版本插图

慢慢地随着内容的增多,就想着怎么样能把这么好的内容,分享到公域上,让更多的人看到,直到后来我接触到了 Sphinx ,立马就爱上了这款简单而不失优雅,纯粹而又专业的文档生成器。

就像下面这图这样,在手机上也适配,非常友好(体验请戳:https://magic.iswbm.com)。

来了!《Python黑魔法指南》v3.0 版本插图(1)

于是花了几天的时间,就把这些内容整理成到 Github 上,目前在 Github 上有 2k 左右的星,是我获得星星最高的一个仓库。

来了!《Python黑魔法指南》v3.0 版本插图(2)

后来我又突然想到我之前写过的那么多文章,那完全可以选一个主题,把同类型的文章整理在一起,制作一本属于我自己的电子书。

于是,同年5月份,我的第一本电子书《Python 黑魔法指南》v1.0 就面世了。内容虽然简单,但胜在题材新颖,全书 50 个冷知识看过之后,无一不说太爽了。

经过两次的迭代,《Python黑魔法指南》终于迎来了 v3.0 的版本,囊集了 100 多个开发小技巧,非常适合在闲时进行碎片阅读。

延续第二版的目录结构,第三版照样还是那七个章节

来了!《Python黑魔法指南》v3.0 版本插图(3)

第三版的 tips 总共有 130 条左右 ,对比第二版本更新的 tips 数量达 50条,看过第二版的同学可以根据目录择需阅读。

下面按照惯例对书的章节做一些介绍

第一章:魔法冷知识

这一章节主要是整理了一些 看了也没啥用的 冷知识

比如 小整数池

 >>> a = -6
>>> b = -6
>>> a is b
False
>>> a = 256
>>> b = 256
>>> a is b
 True
>>> a = 257
>>> b = 257
>>> a is b
False
>>> a = 257; b = 257
>>> a is b
True

比如 intern 机制

 >>> s1="hello"
>>> s2="hello"
>>> s1 is s2
True
## ???????????intern?? 
>>> s1="hell o"
>>> s2="hell o"
>>> s1 is s2
False

比如 大数表示法

 >>> number=281_028_344
>>> number
281028344

第二章:魔法命令行

这一章我收集了几乎所有你知道的,你不知道的关于 Python 在命令行上的神奇用法。

比如最快查看包搜索方式

$ python3 -m site
sys.path = [
    '/home/wangbm',
    '/usr/local/Python3.7/lib/python37.zip',
    '/usr/local/Python3.7/lib/python3.7',
    '/usr/local/Python3.7/lib/python3.7/lib-dynload',
    '/home/wangbm/.local/lib/python3.7/site-packages',
    '/usr/local/Python3.7/lib/python3.7/site-packages',
]
USER_BASE: '/home/wangbm/.local' (exists)
USER_SITE: '/home/wangbm/.local/lib/python3.7/site-packages' (exists)
ENABLE_USER_SITE: True

比如如何往 Python 终端中传入参数

来了!《Python黑魔法指南》v3.0 版本插图(4)

第三章:炫技魔法操作

这个章节是取自我个人原创系列《Python炫技操作》里的文章,其中的多篇文章成为了爆款文章,不少大号均有转载。很多网友看完后直呼 “卧槽,居然还能这样?!

比如条件语句的七种写法,随便摘取其中三种

# 第一种
>>> msg1 = age1 > 18 and "已成年" or "未成年"
>>> 
>>> print(msg1)
已成年
>>> 

# 第二种
>>> msg1 = ("未成年", "已成年")[age1 > 18]
>>> print(msg1)
已成年

# 第三种
>>> msg1 = (lambda:"未成年", lambda:"已成年")[age1 > 18]()
>>> print(msg1)
已成年

比如读取文件的六种方式(里面的 filecache 非常好用)

来了!《Python黑魔法指南》v3.0 版本插图(5)

第四章:魔法进阶扫盲

这一章节主要深入理解 Python 中那些难点,将这些难点逐个击破?比如:

  • 如何写出一个可以带参数的装饰器呢?
  • 装饰器可以装饰函数,那么你知道如何装饰类吗?
  • 描述符的访问规则是什么?
  • 描述符在实际开发中有哪些使用场景?

来了!《Python黑魔法指南》v3.0 版本插图(6)

第五章:魔法开发技巧

这一章的内容,干货最多,不仅干而且非常实用。掌握这些代码编写技巧,对提高你代码的可读性、优雅性会很有帮助。

比如如何嵌套 for 循环写成单行?

来了!《Python黑魔法指南》v3.0 版本插图(7)

比如如何流式读取数G超大文件

来了!《Python黑魔法指南》v3.0 版本插图(8)

第六章:良好编码习惯

如果每个人都有代码洁癖症,在交接代码的时候,就轻松多了。养成良好的编码习惯,利他又利已。

这一章节收集了一些比较好的编码习惯。

比如利用any代替for循环

来了!《Python黑魔法指南》v3.0 版本插图(9)

比如如何给模块属性上保险?

来了!《Python黑魔法指南》v3.0 版本插图(10)

第七章:神奇魔法模块

这章节大家也许会比较熟悉,文章都在公众号发过,不少也成为了爆款文章。

主要收集了一些非常不错但知名度又不高的 Python 库。

比如 文件读取利器 fileinput

来了!《Python黑魔法指南》v3.0 版本插图(11)

比如比正则好上手的轻量数据提取神器 parse

来了!《Python黑魔法指南》v3.0 版本插图(12)

总之内容非常之多,全书PDF将近300页。多余的话不就多说了,这本书我已经打包好了,下载链接:https://wwe.lanzoui.com/iMquNqq4uri

若本书对你有帮助,方便的话,可以去 Github 上支持我一下加个小星星:https://github.com/iswbm/magic-python

明哥公众号

文章有帮助,请作者喝杯咖啡?

发表评论