前言

昨天翻到了一本在github开源的书: Intermediate Python. 就有了此文, 梳理了一下一些之前翻到的对python语言细节点的答案, 博文等.

英文的

super

Python’s super() considered super!

rhettinger是python核心开发者. 这篇博文也是讲super最好最深入的博文了.

装饰器

Understanding Python Decorators

如果你还没有经常性的用装饰器, 你就要思考你的工作需求是不是的太简单了, 或者该考虑下这种AOP模式的开发的作用了

元类

What is a metaclass in Python?
Metaclasses Demystified

元类是python高阶语法. 合理的使用可以减少大量重复性的代码.

防御性编程中的LBYL和EAFP

Try/catch or validation for speed?

这其实就是事先检查和异常处理2个方式的讨论

__new__ 和 __init__

Python (and Python C API): new versus init

这也是一个常见的面试题.

self

Python “self” keyword

但是注意标题. 其实self不是一个关键词. 这里知识帮助你理解self的用意

协程和并发

A Curious Course on Coroutines and Concurrency

生成器

Generator Tricks for Systems Programmers

python开发必读

Code Like a Pythonista: Idiomatic Python

unicode必读

Unicode In Python, Completely Demystified

之前我曾经非常困惑于各种unicode报错

exec和eval

Be careful with exec and eval in Python

我的观点是从来都不要用exec/eval

python性能贴士

PerformanceTips
Python Performance Tips, Part 1
Python Performance Tips, Part 2

描述符

How-To Guide for Descriptors

python隐藏特性

Hidden features of Python

设计模式

python-patterns

初级python进阶文档

Intermediate and Advanced Software Carpentry in Python

这个文档不是非常难, 甚至有点过时. 但是涵盖了python的方方面面. 非常有助于开拓视野, 更了解python

中(译)文

如何理解Python关键字yield

What does the yield keyword do in Python
如何理解Python关键字yield

yield 是python语言里面让初学者困惑的关键词之一. 可以参考这2个理解让你对yield入门. 并且之后在正确的场景下使用

迭代器(Iterator)与生成器(Generator)的区别

Difference between Python’s Generators and Iterators
迭代器(Iterator)与生成器(Generator)的区别

这个是很常见的面试问题.

设计模式入门

写给Python初学者的设计模式入门

所谓设计模式其实就是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案. 其实有时候会发现沃恩日常工作中的一些思考就是设计模式

python设计模式- 我写的. 供参考.

描述符

Descriptor HowTo Guide
Python描述器引导(翻译)

descriptor是python高阶的特性, 可以了解下python设计的优雅. PS: 里面也提到了类方法和静态方法的区别

使用断言(assert)的正确场景

Python 使用断言的最佳时机
Best practice for Python Assert

Python track: python idioms
Python的惯例

提高编码效率

Improving Your Python Productivity
提高你的Python编码效率

Stackoverflow上的Python问题精选

Stackoverflow上的Python问题精选

Python魔法方法指南

Python魔法方法指南

Python高级编程 - 我写的

Python高级编程

洪强宁的ppt.

Python高级编程(二)

PS: 这个 和上一个没有任何次序关系