Awesome
<p align="center"> <a href="http://image.iswbm.com/20200816082224.png"><img src="https://img.shields.io/badge/Talk-%E5%BE%AE%E4%BF%A1%E7%BE%A4-brightgreen.svg?style=popout-square" alt="微信"></a> <a href="https://github.com/iswbm/magic-python/stargazers"><img src="https://img.shields.io/github/stars/iswbm/magic-python.svg?style=popout-square" alt="GitHub stars"></a> <a href="https://github.com/iswbm/magic-python/issues"><img src="https://img.shields.io/github/issues/iswbm/magic-python.svg?style=popout-square" alt="GitHub issues"></a> <img src='https://img.shields.io/badge/language-Python-blue.svg' alt="Build Status"> <img src='https://img.shields.io/badge/framwork-Sphinx-green.svg'> <a href='https://www.zhihu.com/people/wongbingming'><img src='https://img.shields.io/badge/dynamic/json?color=0084ff&logo=zhihu&label=%E7%8E%8B%E7%82%B3%E6%98%8E&query=%24.data.totalSubs&url=https%3A%2F%2Fapi.spencerwoo.com%2Fsubstats%2F%3Fsource%3Dzhihu%26queryKey%3Dwongbingming'></a> <a href='https://juejin.im/user/5b08d982f265da0db3502c55'><img src='https://img.shields.io/badge/掘金-2481-blue'></a> <a href='http://image.iswbm.com/20200607114246.png'><img src='http://img.shields.io/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-60k+-brightgreen'></a> </p>关于本书
本书是一本专门介绍 Python 黑魔法玩法的电子书。其中包括少有人知的一些 Python 冷门知识,Python Shell 的多样玩法,各种令人疯狂的 Python 炫技操作,Python 的超详细进阶知识解读,还有不断扩充完善适合所有 Python 开发者的开发技巧等等。
本书旨在向你介绍一个不一样的 Python,而不是一份初学者的 Python 基础教学资料。
如何开始
阅读本书有两个入口:
-
在线阅读:实时更新最新内容,链接:Python黑魔法手册
-
离线阅读:到 Release 下载最新版的 PDF
我的电子书
我写过四个在线文件,分别是:
有兴趣的,可以点击链接了解一下。
目录大纲
- 第一章:魔法冷知识
- # 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一样分割字符串?
- # 1.32 如何让大数变得更易于阅读?
- 第二章:魔法命令行
- # 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 种方法及原理
- # 2.15 命令行式打开 idle 编辑脚本
- # 2.16 快速计算字符串 base64编码
- # 2.17 快速找到指定文件的mime类型
- # 2.18 快速查看 Python 的环境信息
- # 2.19 快速解压和压缩文件
- # 2.20 快速编辑 Python 脚本
- # 2.21 使用自带的 telnet 端口检测工具
- # 2.22 快速将项目打包成应用程序
- # 2.23 快速打印函数的调用栈
- 第三章:炫技魔法操作
- 第四章:魔法进阶扫盲
- 第五章:魔法开发技巧
- # 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 如何实现字典的多级排序
- # 5.24 对齐字符串的两种方法
- # 5.25 将位置参数变成关键字参数
- # 5.26 如何获取一个函数设定的参数
- # 5.27 如何进行版本的比较
- # 5.28 如何捕获警告?(注意不是捕获异常)
- # 5.29 如何禁止对象深拷贝?
- # 5.30 如何将变量名和变量值转为字典?
- # 5.31 替换实例方法的最佳实践
- # 5.32 如何动态创建函数?
- # 5.33 如何规定函数的参数类型?
- 第六章:良好编码习惯
- 第七章:神奇魔法模块
写在最后
本书所有文章均为本人原创,若对你学习 Python 有帮助,希望你能多多帮忙宣传,让更多的人知道这本书。
如果你有不错的内容,想加入进来,可以提交 pull requests ,大家一起努力作好这个项目。