Github上的这个Python黑魔法手册,能学到很多!

全球最大的同性交友网站——Github!

Github上的这个Python黑魔法手册,能学到很多!_第1张图片

因为逛逛网站就能学习很多姿势!

 

这不,又发现了一个牛比的项目

这个项目在Github上有1.6k star!

是一个讲述Python黑魔的项目

项目地址是:

https://github.com/iswbm/magic-python

项目介绍了很多少有人知的一些 Python 冷门知识,Python Shell 的多样玩法,各种令人疯狂的 Python 炫技操作,Python 的超详细进阶知识解读,还有不断扩充完善适合所有 Python 开发者的开发技巧等等。

带给你对Python船新的体验!

Github上的这个Python黑魔法手册,能学到很多!_第2张图片

 

目前该Python黑魔法手册有7章,小编已经看完一半,马上写代码尝试了下,美滋滋!

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403
 

以下是该项目的详细目录:

  • 第一章:魔法冷知识

    • 1.1 默默无闻的省略号很好用

    • 1.2 使用 end 来结束代码块

    • 1.3 可直接运行的 zip 包

    • 1.4 反斜杠的倔强: 不写最后

    • 1.5 如何修改解释器提示符

    • 1.6 简洁而优雅的链式比较

    • 1.7 and 和 or 的短路效应

    • 1.8 连接多个列表最极客的方式

    • 1.9 字典居然是可以排序的?

    • 1.10 哪些情况下不需要续行符?

    • 1.11 用户无感知的小整数池

    • 1.12 神奇的 intern 机制

    • 1.13 site-packages和 dist-packages

    • 1.14 argument 和 parameter 的区别?

    • 1.15 /usr/bin/env python 有什么用?

    • 1.16 dict() 与 {} 生成空字典有什么区别?

    • 1.17 有趣但没啥用的 import 用法

    • 1.18 正负得负,负负得正

    • 1.19 return不一定都是函数的终点

    • 1.20 字符串里的缝隙是什么?

    • 1.21 Python2下 也能使用 print(“”)

    • 1.22 字母也玩起了障眼法

    • 1.23 数值与字符串的比较

    • 1.24 时有时无的切片异常

    • 1.25 迷一样的字符串

    • 1.26 x 与 +x 等价吗?

    • 1.27 += 不等同于=+

    • 1.28 循环中的局部变量泄露

    • 1.29 局部/全局变量傻傻分不清

    • 1.30 break /continue 和 上下文管理器哪个优先级高?

    • 1.31 如何像 awk一样分割字符串?

  • 第二章:魔法命令行

    • 2.1 懒人必备技能:使用 “_”

    • 2.2 最快查看包搜索路径的方式

    • 2.3 使用 json.tool 来格式化 JSON

    • 2.4 命令行式执行 Python 代码

    • 2.5 用调试模式执行脚本

    • 2.6 如何快速搭建 HTTP 服务器

    • 2.7 快速构建 HTML 帮助文档

    • 2.8 最正确且优雅的装包方法

    • 2.9 往 Python Shell 中传入参数

    • 2.10 让脚本报错后立即进入调试模式

    • 2.11 极简模式执行 Python Shell

    • 2.12 在执行任意代码前自动念一段平安经

    • 2.13 启动 Python Shell 前自动执行某脚本

    • 2.14 把模块当做脚本来执行 7 种方法及原理

  • 第三章:炫技魔法操作

    • 3.1 八种连接列表的方式

    • 3.2 合并字典的 8 种方法

    • 3.3 花式导包的八种方法

    • 3.4 条件语句的七种写法

    • 3.5 判断是否包含子串的七种方法

    • 3.6 海象运算符的三种用法

    • 3.7 模块重载的五种方法

  • 第四章:魔法进阶扫盲

    • 4.1 精通装饰器八大用法

    • 4.2 深入理解描述符

    • 4.3 精通上下文管理器

  • 第五章:魔法开发技巧

    • 5.1 嵌套上下文管理的另类写法

    • 5.2 将嵌套 for 循环写成单行

    • 5.3 单行实现 for 死循环如何写?

    • 5.4 如何关闭异常自动关联上下文?

    • 5.5 自带的缓存机制不用白不用

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

    • 5.7 实现类似 defer 的延迟调用

    • 5.8 如何快速计算函数运行时间

    • 5.9 重定向标准输出到日志

    • 5.10 快速定位错误进入调试模式

    • 5.11 在程序退出前执行代码的技巧

    • 5.12 逗号也有它的独特用法

    • 5.13 如何在运行状态查看源代码?

    • 5.14 单分派泛函数如何写?

    • 5.15 让我爱不释手的用户环境

    • 5.16 字符串的分割技巧

    • 5.17 反转字符串/列表最优雅的方式

    • 5.18 如何将 print 内容输出到文件

    • 5.19 改变默认递归次数限制

    • 5.20 让你晕头转向的 else 用法

    • 5.21 字典访问不存在的key时不再报错

    • 5.22 如何实现函数的连续调用?

    • 5.23 如何实现字典的多级排序

  • 第六章:良好编码习惯

    • 6.1 不要直接调用类的私有方法

    • 6.2 默认参数最好不为可变对象

    • 6.3 增量赋值的性能更好

    • 6.4 别再使用 pprint 打印了

    • 6.5 变量名与保留关键冲突怎么办?

    • 6.6 不想让子类继承的变量名该怎么写?

  • 第七章:神奇魔法模块

    • 7.1 远程登陆服务器的最佳利器

    • 7.2 代码 BUG 变得酷炫的利器

    • 7.3 少有人知的 Python "重试机制"

    • 7.4 规整字符串提取数据的神器

    • 7.5 一行代码让代码运行速度提高100倍

例如在讲到合并字典的8种方法中,还提到了Python3.9新特性方法:

>>> profile = {"name": "xiaoming", "age": 27}
>>> ext_info = {"gender": "male"}
>>>
>>> profile | ext_info
{'name': 'xiaoming', 'age': 27, 'gender': 'male'}
>>>
>>> ext_info | profile
{'gender': 'male', 'name': 'xiaoming', 'age': 27}
>>>
>>> ext_info |= profile
>>> ext_info
{'gender': 'male', 'name': 'xiaoming', 'age': 27}
>>>
>>>
>>> profile |= ext_info
>>> profile
{'name': 'xiaoming', 'age': 27, 'gender': 'male'}

还有,我们看一些优秀代码中,经常有续行符,主要是优化代码排版,提高代码可读性,例如:

>>> a = 'talk is cheap,'\
...     'show me the code.'
>>>
>>> print(a)
talk is cheap,show me the code.

那什么时候用续行符、什么时候不用呢?

作者提出:经过总结,在这些符号中间的代码换行可以省略掉续行符:[],(),{}

>>> my_list=[1,2,3,
...          4,5,6]

>>> my_tuple=(1,2,3,
...           4,5,6)

>>> my_dict={"name": "MING",
...          "gender": "male"}

你想知道连接多个列表最极客的方式么?

>>> a = [1,2]
>>> b = [3,4]
>>> c = [5,6]
>>>
>>> sum((a,b,c), [])
[1, 2, 3, 4, 5, 6]

反正小编我是傻了。。。

还有Python3.8版本上的海象运算符,你可能都没听过。

例如常规代码:

age = 20
if age > 18:
    print("已经成年了")

如果用海象运算符,会变成这样!

if (age:= 20) > 18:
    print("已经成年了")

我只想说,这代码真优雅!

如果面试问你说Python的字典是有序的么?你估计会轻蔑一笑,怎么可能有序!

但是3.6+版本的Python,字典就是有序的了。。。

# Python3.6.7
>>> mydict = {str(i):i for i in range(5)}
>>> mydict
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4}

Github上的这个Python黑魔法手册,能学到很多!_第3张图片

感谢项目作者的分享,大家可以给他点个star~

在这里还是要推荐下我自己建的Python开发交流学习(qq)群:810735403,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和高级开发教程,欢迎进阶中和想深入Python的小伙伴!

你可能感兴趣的:(分享,学习Python,python,编程语言)