节选自:酷勤网。 有用,值得看看~~~
————————————————————————————————————————————————————————
纠结的Py2与Py3之选Q:Python 3 会导致Python的什么前景?最终由3统一,还是一直分裂?各自用自己的版本?
A:py3自发布以来,进步很大,解决了很多py2无法解决的问题,所以我是坚信大家最终会转到py3。现在py3已经有许多非常吸引人的特性,比如yield from,比如asyncio,比如更漂亮的库结构,等等。但我承认py3还没有一个巨大的吸引让大家转过去,yield from 算半个,另外半个我觉得是jit,想像一下py3自带jit,运行速度是py2的3到10倍,大家肯定一窝蜂转过去了。我觉得py3是未来,但也赞同两个割裂的版本影响推广。
Q:新手入门应该学2还是3?2会被Python团队放弃吗?
A:学py2吧,如果到时要转py3也是很容易的事。但如果直接学py3,到时候项目要用py2,就会觉得由奢入俭,很痛苦。
Q:请问您觉得Python3.x需要多久才能成为主流?
A:还有比较长的时间,但如果py3.5有独占的、可靠的、官方的jit方案的话,应该会加速很多很多!
怎样学习Python
Q:Python适合作为一个编程入门语言吗。
A:考虑到就业等,我觉得C语言还是更适合作为入门。
Q:python学习的进阶?基本知识掌握后,该怎么学习?
A:如果已经在工作了,那就直接尝试用python去解决工作需求就好了;如果是学生,那就去复制已存在的网站,把它的功能都弄来,比如oschina。
Q:高质量的代码是怎么写的,怎么提升自己的代码的质量?
A:个人看法:1、熟悉语言的细节;2、熟悉语言和库的最佳实践;3、多看一些提升代码质量的指导书籍;4、同行评审;5、多学几门语言,博采众长。
Q:对一个java开发者来说学习使用python有什么好的建议吗?
A:像当年学习java一样学习它。
Q:初学者,有什么好的网站推荐学习?
A:还是读书、看手册吧,网站的知识太零散,不成体系,容易学成野路子程序员。
Q:学习和使用了一段python后怎么做才能更好的提高自己使用python的能力呢?
A:我的回答是复刻一些产品,比如自己尝试做个豆瓣、oschina之类。
Q:《编写高质量代码:改善Python程序的91个建议》这本书适合其它非Python程序员看吗?
A:不适合。它的定位是对python有所了解的人。给初中级python程序员提升到中高级,这样的定位。
Q:请推荐几个比较优秀的Python开源项目,用来学习的。
A:优秀的python开源项目啊,我想一下,额,看一下trac和reviewboard?
Q:你觉得你学Python以来觉得关于Python最好的书籍有哪些呢?语言基础、语言设计、框架方面,等等都行。谢谢了。
A:很好的问题,我觉得可以回答,因为我自己觉得自己的书也不是“最好的”那个层次。推荐《expert python programming(中译Python高级编程,翻译差强人意)》、《Python源码剖析》。
Q:你好,我有个问题想请教你,如何成为真正的pythoner。我以前是做C++的,现在工作会接触一些python web方面的任务。我最开始接触python的时候学了些基本的语法就开始尝试写与算法相关的程序了,所以写python程序的时候代码还是有C++的影子,直到现在工作中维护之前别人的python web程序的时候,发现自己的python程序太不优雅了,好多时候有的功能可以用更美更快更高效的方式实现,但我可能会像C++里面一样想要从底层一点一草一木的搭建、控制我的程序,后来发现可以几行甚至更短的代码就可以实现那些功能,而且执行效率也更好一点,于是发现写python程序不能用以前C++代码时的思想,或许我可以尝试更pythoner一点?
A:很有意思的一个问题,个人建议如下:1、通读一遍手册,特别是lib ref和lang ref,所谓熟能生巧,对语言本身的熟悉才能写得更pythonic;2、多看一下经典的python项目的文档,比如flask,比如pip,看看他们提供了什么机制,甚至探究到这样的机制是怎么提供的;3、不要担心,多写一些python代码就好了。
应用Python的困惑
Q:Python 适合开发比较复杂的web项目吗?
A:在我看来,python适合开发小中大巨多种复杂程度的项目,因为能不能把项目做成,最关键的因素还是人。python对web支持不错,有许多第三方库,也有django/flask等许多人叫好的框架。
Q:入门Python用哪个操作系统环境好?我就只在Windows上学过一点基础,但不知一般真实团队开发环境是怎样,可以可以介绍下?谢谢!
A:我们一直用linux作为生产环境,mac os x 是我的开发环境,我用过许多年的windows,我不觉得使用windows会影响你的学习。
Q:目前python似乎大多数都是在WEB方向的应用,对于做C语言和C++的开发python有什么可以帮助的地方
A:主要是利用动态语言的灵活性、解释型语言的方便性,来解决C/C++在应变多变的业务需求、快速部署等方面的成本过高或力不从心的问题。