姓名: 王炳明
微信: stromwbm
公众号: 《Python编程时光》&《Go编程时光》
这个博客于2020年8月3日发布完成,使用的是 Sphinx 来生成文档,使用 Github 托管文档,并使用 Read the Doc 发布文档。
Python 是一门对编程新手非常友好的语言,通常花个两个月的时间,就能开始自己写代码,做项目。
但也因为过于高级,给予了开发者很高的自由度。这本身没有问题,但是想要写出优雅的 Python 代码,需要 Coder 有一定的代码审美能力,才能很好的驾驭。
这本电子教程,是我个人花了很多的时间,将自己这些年来写 Python 的一些心得整理所成。
内容包含各种你在教材上、培训视频中无法习得的冷门知识,魔法知识,以及开发技巧,不管对于新手还是老手,我想都会有一定的帮助。
以下是内容列表,查看原文请去作者官网:
第一章:魔法冷知识
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 快速打印函数的调用栈
第三章:炫技魔法操作
3.1 八种连接列表的方式
3.2 合并字典的 7 种方法
3.3 花式导包的八种方法
3.4 条件语句的七种写法
3.5 判断是否包含子串的七种方法
3.6 海象运算符的三种用法
3.7 模块重载的五种方法
3.8 Python 转义的五种表示法
3.9 Python 装包的八种方法
3.10 Python装饰器的六种写法
3.11 Python 读取文件的六种方式
3.12 调用函数的九种方法
3.13 创造 “新语法” 的黑科技
第四章:魔法进阶扫盲
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 如何实现字典的多级排序
5.24 对齐字符串的两种方法
5.25 将位置参数变成关键字参数
5.26 如何获取一个函数设定的参数
5.27 如何进行版本的比较
5.28 如何捕获警告?(注意不是捕获异常)
5.29 如何禁止对象深拷贝?
5.30 如何将变量名和变量值转为字典?
5.31 替换实例方法的最佳实践
5.32 如何动态创建函数?
5.33 如何规定函数的参数类型?
第六章:良好编码习惯
6.1 不要直接调用类的私有方法
6.2 默认参数最好不为可变对象
6.3 增量赋值的性能更好
6.4 别再使用 pprint 打印了
6.5 变量名与保留关键字冲突怎么办?
6.6 不想让子类继承的变量名该怎么写?
6.7 利用 any 代替 for 循环
6.8 不同条件分支里应减少重合度
6.9 如无必要,勿增实体噢
6.10 保持代码的简洁与可诗性
6.11 给模块的私有属性上保险
6.12 变量不能与保留关键字重名
第七章:神奇魔法模块
7.1 远程登陆服务器的最佳利器
7.2 代码 BUG 变得酷炫的利器
7.3 少有人知的 Python “重试机制”
7.4 规整字符串提取数据的神器
7.5 一行代码让代码运行速度提高100倍
7.6 新一代的调试神器:PySnooper
7.7 比open更好用、更优雅的读取文件
7.8 像操作路径一样,操作嵌套字典
7.9 读取文件中任意行的数据
7.10 让你的装饰器写得更轻松的神库
7.11 国际化模块,让翻译更优雅
7.12 非常好用的调度模块
7.13 实现字典的点式操作
7.14 使用 trypackage 试用新库
7.15 利用 streamlit 傻瓜式构建可视化web应用
7.16 划时代的 Python 包管理工具 – PDM
我想等网站访问量多了,在这个位置放个广告。网站纯公益,但是用爱发电服务器也要钱啊 ----------狂奔的小蜗牛