GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - iswbm/magic-python: Python 黑魔法手册

BranchesTags
Open more actions menu

Latest commit

 

History

122 Commits
122 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
exts
exts
 
 
source
source
 
 
.gitignore
.gitignore
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
baidu_verify_code-akNcNpmYjb.html
baidu_verify_code-akNcNpmYjb.html
 
 
github-toc-maker-for-sphinx.py
github-toc-maker-for-sphinx.py
 
 
make.bat
make.bat
 
 
md2rst.py
md2rst.py
 
 
pdf_maker.py
pdf_maker.py
 
 
rebuild.sh
rebuild.sh
 
 
requirements.txt
requirements.txt
 
 
usercustomize.py
usercustomize.py
 
 

Repository files navigation

微信 GitHub stars GitHub issues Build Status

关于本书

本书是一本专门介绍 Python 黑魔法玩法的电子书。其中包括少有人知的一些 Python 冷门知识,Python Shell 的多样玩法,各种令人疯狂的 Python 炫技操作,Python 的超详细进阶知识解读,还有不断扩充完善适合所有 Python 开发者的开发技巧等等。

本书旨在向你介绍一个不一样的 Python,而不是一份初学者的 Python 基础教学资料。

如何开始

阅读本书有两个入口:

  1. 在线阅读:实时更新最新内容,链接:Python黑魔法手册

  2. 离线阅读:到 Release 下载最新版的 PDF

我的电子书

我写过四个在线文件,分别是:

  1. 《Python 黑魔法指南》:https://magic.iswbm.com/

  2. 《PyCharm 中文指南》:https://pycharm.iswbm.com/

  3. 《Python 中文指南》:https://python.iswbm.com/

  4. 《Go 编程时光 - 入门宝典》:https://golang.iswbm.com/

有兴趣的,可以点击链接了解一下。

目录大纲

  • 第一章:魔法冷知识
    • # 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应用

写在最后

本书所有文章均为本人原创,若对你学习 Python 有帮助,希望你能多多帮忙宣传,让更多的人知道这本书。

如果你有不错的内容,想加入进来,可以提交 pull requests ,大家一起努力作好这个项目。

About

Python 黑魔法手册

magic.iswbm.com/

Resources

Readme
Activity

Stars

3.4k stars

Watchers

75 watching

Forks

469 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.