python进阶必读汇总

jopen 6年前
 

前言

昨天翻到了一本在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关键字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初学者的设计模式入门

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

描述符

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: 这个 和上一个没有任何次序关系