python进阶必读汇总
前言
昨天翻到了一本在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
但是注意标题. 其实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
描述符
python隐藏特性
设计模式
初级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设计模式- 我写的. 供参考.
描述符
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问题精选
Python魔法方法指南
Python高级编程 - 我写的
洪强宁的ppt.
PS: 这个二和上一个没有任何次序关系
来自:http://www.dongwm.com/archives/pythonjin-jie-bi-du-hui-zong/