Java 中 有 Thinking in Java,Core Java, Effictive Java等经典书籍,C++ 有C++Pirmer, Effictive C++等经典书籍。这些书籍,都超过同类书籍太多太多,是公认的好书,值得反复翻阅。那么python有没有类似的,经典到爆的好书呢?求推荐
[me@server ~]$ python
Python 2.6.6 (r266:84292, Dec 7 2011, 20:48:22)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Python以优雅,明确,简单为设计哲学 (
http://www.python.org/dev/peps/pep-0020/), 稍加学习即可上手,一般问题也是manual+stackoverflow基本上就能搞定了;另一方面Python主要被当胶水语言用,所以大多数使用场景(至少对我的来说)无需深究效率,设计等等,快速解决问题相对易于维护即可,一般也不需要thinking in XXX, inside XXX, the art of XXX之类的书。相对于其他语言的学习书籍,Oreilly的几本python书基本上也都是按照使用情景来组织方便查阅而不是从头到尾阅读的,这里面最实用的自然是Python Cookbook
Learn Python
http://book.douban.com/subject/3988517/Programming Python
http://book.douban.com/subject/4893005/Python Cookbook
http://book.douban.com/subject/4828875/另一方面,倒是一些特定领域的应用有些评价不错的书,比如,
Python灰帽子:
http://book.douban.com/subject/6025284/Natural Language Processing with Python:
http://book.douban.com/subject/3696989/是为知乎处女贴啊...
经典如何定义?Guido写的python manual算不算
- The Python Language Reference Manual (Python Manual)
或者只要是好书就行了,这些书也都是专业python开发会读的
- Fluent Python
- Python Playground
- Introducing Python: Modern Computing in Simple Packages
- Effective Python: 59 Specific Ways to Write Better Python
- High Performance Python: Practical Performant Programming for Humans
- Data Science from Scratch
- Web Scraping with Python: A Comprehensive Guide to Data Collection Solutions
谢邀.
可惜我大喜欢读书, 不能推荐什么好书给大家.
--------------------- 分割 -----------------------
说点跑题的,
我认为Python除了入门需要看书, 其他时候, 找书是真挺浪费时间的. 付费的书, 付费之前, 大多不会给你全文搜索, 你无法快速找到你想要了解的知识点. 市场上充斥着工具书, 基础书, 要从他们中间找出一个让你感兴趣的, 费时费力.
就语言本身来讲, Python已经提供了很大的自由度, 编写方法简单易懂, 效率组织也不那么讲究, 调试运行也很省心. 因此重点不在语言本身, 重点在于, 你想实现什么. 所以要看书的话, 不如去找一些更加专业领域的书, 算法? 设计? 随你喜欢, 用哪个语言实现, 只是次要问题.
在一点, Python本身就是开源的, 文档资料什么的也都是开源的, 付费去学你不觉得上当受骗? 说实话我也不相信在开源项目里谁能搞出什么独门秘诀, 拿来放在自己书里赚钱的, 其他人又不是傻子. 要是有好招, stackoverflow, github上去找, 一定有的.
这些书是我学习python的时候收集的,由浅入深,涵盖的方面也计较多了。自己花时间啃啃吧!http://pan.baidu.com/s/1kTBRjoF
入门《A Byte of Python v1.92》
深入《Dive into Python 3》
查阅《Python CookBook》
IDLE:
>>> help()
Welcome to Python 3.3! This is the interactive help utility.
If this is your first time using Python, you should definitely check out
the tutorial on the Internet at
http://docs.python.org/3.3/tutorial/.
Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules. To quit this help utility and
return to the interpreter, just type "quit".
To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics". Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".
查看某函数、某模块的作用,可以用__doc__查看
>>> import sys
>>> print(sys.__doc__)
practice make it better,python不同于JAVA,不需要花很多精力在JAVA特性的实现、使用上面,它已经帮你做了很大一部分工作,只需要灵活使用python达到目的即可,所以很多人非科班人可以用python而不用看类似effictive **之类的书
python的语义性比较强,3行代码实现功能不需要一句废话,捡来即用
如果要研究,那就是python源码、再深入到C源码,如果对其效率不爽,自己写包实现即可,我虽然没读过python包的c代码,但是相信有经验的人一定也同意
Python的官方文档质量非常好。篇幅适中,示例清晰,看完之后你自己就知道往后怎么办了。Python培训
这里有教学视频,推荐一下。
《Python源码剖析》 以及 requests和scrapy的源码,还有官方文档