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 - opticaloptical/magic-python: 带你玩不一样的 Python

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

10 Commits
10 Commits

Folders and files

NameName
Last commit message
Last commit date
.gitignore
.gitignore
 
 
Python 黑魔法指南 v1.0.pdf
Python 黑魔法指南 v1.0.pdf
 
 
Python 黑魔法指南 v1.1.pdf
Python 黑魔法指南 v1.1.pdf
 
 
README.md
README.md
 
 

Repository files navigation

Build Status

在线阅读

在线阅读:《Python 黑魔法指南》

目录大纲

(以下链接无效,请前往 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 和 上下文管理器哪个优先级高?
  • 第二章:魔法命令行
    • 2.1 懒人必备技能:使用 “_”
    • 2.2 最快查看包搜索路径的方式
    • 2.3 使用 json.tool 来格式化 JSON
    • 2.4 命令行式执行 Python 代码
    • 2.5 用调试模式执行脚本
    • 2.6 快速搭建 FTP 服务器
    • 2.7 快速构建 HTML 帮助文档
    • 2.8 最优雅的装包方法
  • 第三章:炫技魔法操作
    • 3.1 八种连接列表的方式
      • 1、最直观的相加
      • 2、借助 itertools
      • 3、使用 * 解包
      • 4、使用 extend
      • 5、使用列表推导式
      • 6、使用 heapq
      • 7、借助魔法方法
    • 3.2 合并字典的 8 种方法
      • 1、最简单的原地更新
      • 2、先解包再合并字典
      • 3、借助 itertools
      • 4、借助 ChainMap
      • 5、使用dict.items() 合并
      • 6、最酷炫的字典解析式
      • 7、Python 3.9 新特性
    • 3.3 花式导包的八种方法
      • 1. 直接 import
      • 2. 使用 _import_
      • 3. 使用 importlib 模块
      • 4. 使用 imp 模块
      • 5. 使用 execfile
      • 6. 使用 exec 执行
      • 7. import_from_github_com
      • 8、远程导入模块
    • 3.4 条件语句的七种写法
      • 第一种:原代码
      • 第二种
      • 第三种
      • 第四种
      • 第五种
      • 第六种
      • 第七种
    • 3.5 判断是否包含子串的七种方法
      • 1、使用 in 和 not in
      • 2、使用 find 方法
      • 3、使用 index 方法
      • 4、使用 count 方法
      • 5、通过魔法方法
      • 6、借助 operator
      • 7、使用正则匹配
    • 3.6 海象运算符的三种用法
      • 第一个用法:if/else
      • 第二个用法:while
      • 第三个用法:推导式
  • 第四章:魔法进阶扫盲
    • 4.1 精通装饰器八大用法
      • Hello,装饰器
      • 入门:日志打印器
      • 入门:时间计时器
      • 进阶:带参数的函数装饰器
      • 高阶:不带参数的类装饰器
      • 高阶:带参数的类装饰器
      • 使用偏函数与类实现装饰器
      • 如何写能装饰类的装饰器?
      • wraps 装饰器有啥用?
    • 4.2 深入理解描述符
      • 为什么要使用描述符?
      • 描述符的访问规则
      • 基于描述符如何实现property
      • 基于描述符如何实现staticmethod
      • 基于描述符如何实现classmethod
      • 所有实例共享描述符
    • 4.3 精通上下文管理器
      • what context manager?
      • how context manager?
      • why context manager?
      • how contextlib?
  • 第五章:魔法开发技巧
    • 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 单分派泛函数如何写?
  • 第六章:良好编码习惯
    • 6.1 不要直接调用类的私有方法
    • 6.2 默认参数最好不为可变对象
    • 6.3 增量赋值的性能更好
    • 6.4 别再使用 pprint 打印了
      • 1. 吐槽问题
      • 2. 解决问题
        • 打印中文
        • 打印双引号
      • 3. 何必折腾
        • 打印中文
      • 4. 总结一下
  • 第七章:神奇的魔法模块
    • 7.1 远程登陆服务器的最佳利器
      • 1. 使用 subprocess
      • 2. 使用 sh.ssh
      • 3. 使用 paramiko
        • 方法1:基于用户名和密码的 sshclient 方式登录
        • 方法2:基于用户名和密码的 transport 方式登录
        • 方法3:基于公钥密钥的 SSHClient 方式登录
        • 方法4:基于密钥的 Transport 方式登录
        • 实现 sftp 文件传输
        • 注意事项
      • 4. 写在最后
    • 7.2 代码 BUG 变得酷炫的利器
      • 1. 环境要求
      • 2. 效果对比
      • 3. 配置全局可用
      • 4. 单文件中使用
      • 5. 自定义设置
        • 5.1 设置颜色
        • 5.2 设置显示内容
        • 5.3 设置怎么显示

About

带你玩不一样的 Python

Resources

Readme
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

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.