Python 语言研究
== 概述 ==
. 对于一种编程语言来说,语法格式是其最直观的表现,各种类库的 API 是其最直接的应用。
. 但在水面之下,语言的基础设施、模型、原理以及背后的设计思想才是其最本质的部分,也是一种语言真正区别于另一种的所在。
. 此条目关注 Python 本身语言、语法的研究和探讨,收集整理相关的文档和心得(尤其是中文资料)。
. 如无特别注明,均以 CPython 实现为准。
== 系统学习 ==
* 参见[:PyBooks:Python 图书概览]
. 对于语言特性的学习来说,特别推荐以下几本
* 《Python Tutorial》(最新版本2.5) -- 最新,最权威,公开文档
* 《A Byte of Python》 -- 简洁明了,浅显易懂,公开文档
* 《Learning Python》(第二版) -- 最细致,最深入
* 《Text Process in Python》的附录A :[:TPiP/AppendixA:python精要]
. “对 python 的超精简的但绝不失深度的介绍” -- from 译者 HuangYi
== 语言进化 ==
* [http://docs.python.org/dev/whatsnew/whatsnew25.html What's New in Python 2.5]
* [http://www.aleax.it/Python/py25.pdf Python 2.5 Slides by Alex Martelli]
* [:WeiZhong/WhatsNewOfPython25:WeiZhong 节译]
* [:PythoNology/New4Py2.5:ZoomQuiet 译自另一篇文档]
* [http://docs.python.org/dev/whatsnew/ What's New in Python 2.6]
* [:Python3000:Python 3000 专题] -- 收集了 Python 3000 的规范、展望和最新消息
== 专题剖析 ==
=== 内置类型和操作 ===
* [http://www.voidspace.org.uk/python/articles/python_datatypes.shtml A Very Brief Introduction to Python And its Data-Types]
. “一篇短小精悍的 python tutorial 。对一些容易被忽视的问题讲得很清楚!很专业的 tutorial!” -- from HuangYi
* [http://blog.donews.com/limodou/archive/2004/05/11/18038.aspx 集合(sets)模块] from [http://blog.donews.com/limodou/ limodou 的学习记录]
. 在 2.4 以后,sets 模块已经成为内置类型 set
=== 语句和语法 ===
==== 自省 ====
* [http://www.ibm.com/developerworks/cn/linux/l-pyint/index1.html Python 自省指南]、[http://www.ibm.com/developerworks/cn/linux/l-pyint/index2.html (二)] (原网页上“下一页”链接有误)
. 发表于 IBM developerWorks 网站,作者 Patrick O'Brien 是 Py``Crust 的作者,此为中文版。
* [:PyBatteriesIncluded:内省的威力]
==== Iterator、Generator 和 yield ====
* [http://www.ibm.com/developerworks/cn/linux/sdk/python/charm-20/index.html 可爱的 Python: 迭代器和简单生成器——Python 2.2 中的新型构造]
* [http://www.ibm.com/developerworks/cn/linux/sdk/python/charm-25/index.html 可爱的 Python: 用 Python 生成器实现“轻便线程”——微线程的力量]
* [http://www.ibm.com/developerworks/cn/linux/sdk/python/charm-26/index.html 可爱的 Python: 基于生成器的状态机——用基于生成器的状态机和协同程序增加效率]
. 以上三篇均为 David Mertz 的 developerWorks Python 专栏文章
* [http://blog.donews.com/limodou/archive/2004/07/10/40913.aspx Iterator 和 Generator的学习心得] by limodou
* [:Py25yieldNote:Py2.5 yield 详说] -- shhgs 和 limodou 关于 yield 在2.5中加强语法的探讨
* [:HuangYi/yield_stacklesspython:用 2.5 中的 yield 模拟 Stackless Python] by HuangYi
. 可与[http://www.ibm.com/developerworks/cn/linux/sdk/python/charm-25 /index.html 《用 Python 生成器实现“轻便线程”》]对照,加强的 yield 语法带来了更强大的力量和更灵活的运用
==== Decorator ====
* [wiki:peps/pep-0318/ PEP 318 : Decorators for Functions and Methods]
* [:WeiZhong/DecoratorsInPython24:Python2.4中的新东西(1):函数和方法的修饰符] by WeiZhong
* [http://blog.donews.com/limodou/archive/2004/12/19/207521.aspx decorator的使用] by limodou
* [http://www.donews.net/limodou/archive/2004/12/20/208356.aspx Decorator 应用:使用decorator的线程同步] by limodou
* [http://blog.donews.com/limodou/archive/2004/12/31/221653.aspx 关于阅读《Doing abstract methods with decorators》的思考] by limodou
==== with ====
=== 名字空间与对象模型 ===
==== 概述 ====
* Python 官方网站上的 [http://www.python.org/doc/newstyle/ New-style Classes 经典文档汇集]
* [http://www.effbot.org/zone/python-objects.htm Python Objects]
. Python 对象概念简析 —— 比你想像中更简单!
* 两篇系统讲解的精彩文档
* [http://www.cafepy.com/article/python_types_and_objects Python Types and Objects]
* [http://www.cafepy.com/article/python_attributes_and_methods/ Python Attributes and Methods]
* [:PyNewStyleClass:Python 中的新型类及其实例详解] -- WeiZhong 节译自《Python in a Nutshell》(第一版)
* [http://blog.csdn.net/jrgao/archive/2004/03/04/22248.aspx python的对象与名字绑定]、[http://blog.csdn.net/dreamingk/archive/2004/07/26 /51658.aspx 对于"python的对象与名字绑定"一文错误的纠正!]
* [http://blog.donews.com/limodou/archive/2005/07/09/460187.aspx 关于Python对象及名字绑定] -- limodou 的补充感想
==== Metaclass ====
* [:MetaClassInPython:Python中的元类(metaclass)] -- WeiZhong 节译自《Python in a Nutshell》(第一版)
* [http://www.ibm.com/developerworks/cn/linux/l-pymeta/index.html Python 中的元类编程]、[http://www.ibm.com/developerworks/cn/linux/l-pymeta2/index.html Python 中的元类编程,第 2 部分]
. 发表于 IBM developerWorks 网站,作者为知名 Python 专栏作家 David Mertz,此为中文版。
* [http://www.python.org/pycon/dc2004/papers/24/metaclasses-pycon.pdf Python Metaclasses: Who? Why? When?] -- 2004年 Py{{{}}}Con 上的一篇讲稿
* [http://www.voidspace.org.uk/python/articles/metaclasses.shtml Eliminating self with Metaclasses]
. Python 在成员方法中对 self 的显式声明往往会令初学者困惑和不习惯,Michael Foord 在这篇文章中利用 metaclass 和 bytecode 实现了一种不需要显式声明 self 参数的类定义方式。
* HuangYi 的心得,发表于[http://codeplayer.blogspot.com 他的 blog]
* [http://codeplayer.blogspot.com/2006/12/metaclass-in-python.html metaclass in python (part 1)]
* [http://codeplayer.blogspot.com/2006/12/metaclass-in-python-part-2.html metaclass in python (part 2)]
==== Descriptor ====
* [http://users.rcn.com/python/download/Descriptor.htm How-To Guide for Descriptors] -- descriptor 机制详解,by Raymond Hettinger
* [http://codeplayer.blogspot.com/2006/12/python-method-function-descriptor.html 理解 python 的 method 和 function 兼谈 descriptor] by HuangYi
==== Magic Methods ====
* [http://blog.donews.com/limodou/archive/2004/10/16/134808.aspx 使用__getattr__要注意的]、[http://blog.donews.com/limodou/archive/2004/10/18 /137326.aspx 又一次谈“使用__getattr__要注意的”]
. 自定义 __getattr__ 带来的意想不到的副作用, from [http://blog.donews.com/limodou/ limodou 的学习记录]
=== 模块导入机制 ===
* [http://www.ibm.com/developerworks/cn/linux/sdk/python/python-8/index.html 可爱的 Python:动态重新装入——在长期运行的进程中动态重新装入模块]
. David Mertz 的 developerWorks Python 专栏文章
* [http://blog.donews.com/limodou/archive/2005/06/10/422024.aspx __import__与reload要注意的] from [http://blog.donews.com/limodou/ limodou 的学习记录]
=== 异常机制 ===
=== 其它 ===
* [http://www-128.ibm.com/developerworks/cn/linux/l-pydisp/index.html 可爱的 Python: 多分派——用多元法泛化多态性]
* [http://blog.donews.com/limodou/archive/2004/07/24/49297.aspx 我看“Python中的多分派”] -- limodou的感想
* [http://codeplayer.blogspot.com/2006/09/getcaller.html 意外收获:get_caller] by HuangYi
* [http://www.donews.net/limodou/archive/2004/12/28/218443.aspx Python 中的 Lazy 计算]、[http://blog.donews.com/limodou/archive/2004/12/30/221020.aspx 再谈一谈Lazy计算] from [http://blog.donews.com/limodou/ limodou 的学习记录]
== 参考 ==
* http://www.python.org/doc/newstyle/
* ["ThinkIntoPython"]
* ["PythonZhDoc"]
* ["PythoNology"]
* http://www.voidspace.org.uk/python/index.shtml
* [http://www.ibm.com/developerworks/cn/linux/theme/special/index.html#python IBM developerWorks 的 Python 专栏]
* [http://blog.donews.com/limodou/ limodou 的学习记录] -- limodou 的 blog
* [http://codeplayer.blogspot.com 白菜] -- HuangYi 的 blog
* [http://wiki.woodpecker.org.cn/moin/WeiZhong/]
* [http://pylonshq.com/docs/en/1.0/gettingstarted/]
* [http://blogger.org.cn/blog/blog.asp?subjectid=2612&name=lhwork]
* [http://vvonderblog.appspot.com/2009/11/10/python-web-framework-webpy.html]
* [http://webpy.org/recommended_setup]
* [http://webpython.codepoint.net/cgi_safer_cgi_shell]
* [http://httpd.apache.org/docs/2.2/howto/cgi.html]
* [http://blogger.org.cn/blog/more.asp?name=lhwork&id=21195]
* [http://docs.python.org/tutorial/classes.html]
分享到:
相关推荐
Machine Learning with Python for Everyone The Complete Beginner’s Guide to Understanding and Building Machine Learning Systems with Python Machine Learning with Python for Everyone will help you ...
Brief guides for useful machine learning tools, libraries and frameworks are also covered. Part 2 details standard machine learning pipelines, with an emphasis on data processing analysis, feature ...
heavily invest in machine learning research and applications for good reasons. While it may seem that machine learning has become the buzzword of our time and age, it is certainly not a fad. This ...
Preface I think Python is an ... I’m really proud of this book and I hope that you find it a useful companion on your machine learning journey with Python. Jason Brownlee Melbourne, Australia 2016
Chapter 12, Wrapping Up, will conclude the book by giving you some useful tips on how to approach future machine learning problems on your own, and where to find information on more advanced topics.
Deep Learning: Convolutional Neural Networks in Python Computer Vision and Data Science and Machine Learning combined! In Theano and TensorFlow Created by Lazy Programmer Inc. Last updated 5/2017 ...
idiomatic Python 3 style, and to be a useful reference for the Python 3 language after the initial reading. Although Python 3 is an evolutionary rather than revolutionary advance on Python 2,some ...
heavily invest in machine learning research and applications for good reasons. While it may seem that machine learning has become the buzzword of our time and age, it is certainly not a fad. This ...
GRU, LSTM, + more modern deep learning, machine learning, and data science for sequences Created by Lazy Programmer Inc. Last updated 5/2017 English What Will I Learn? Understand the simple ...
For implementation purposes, we look at popular Python-based deep learning frameworks such as Keras and Tensorflow, Each chapter provides best practices and safe choices to help readers make the ...
And this typically involves applications capable of geospatial display and processing to get a compiled and useful data., 'Learning Geospatial Analysis with Python' uses the expressive and powerful ...
Use Python to visualize data spread across multiple dimensions and extract useful features Dive deep into the world of analytics to predict situations correctly Implement machine learning ...
If you have an entry-level understanding of machine learning and statistics, and you program in Java, Python, or Scala, you’ll find the book’s patterns useful for working on your own data ...
Get to know the most useful clustering and classification techniques and implement them in Python Acquire all the necessary knowledge to build a web application with Django Successfully build and ...
heavily invest in machine learning research and applications for good reasons. While it may seem that machine learning has become the buzzword of our time and age, it is certainly not a fad. This ...
基于 Transformer 的锂电池寿命预测(Remaining Useful Life,RUL)(Python完整源码和数据) Packages pytorch 1.8.0 pandas 0.24.2 基于 Pytorch 的 Transformer 锂电池寿命预测(Remaining Useful Life,RUL)