我也码python生物信息学与基因组学

怎样才能精通Python?

2019-06-16  本文已影响128人  志者不俗

你们所说的什么要怎样数据分析、爬虫、Web 等,在我看来那不是精通 Python,而是精通某一领域,抛开 Python 换用另一门语言也可,在我看来,精通 Python 语言大约需要如下这些步骤(个人愚见,不服你奈我何~~~):

------------------------

level 1:了解基本语法

这是最容易的一级,掌握了 Python 的基本语法,可以通过 Python 代码实现常用的需求,不管代码质量怎么样。这部分内容,可以参考:The Python Tutorial

------------------------

level 2:熟练使用常用的库

熟悉常用 standard library 的使用,包括但不限于 copy / json / itertools / collections / hashlib / os / sys 等,这部分内容,可以参考:The Python Standard Library

熟悉常用的第三方库,这就根据每个人不同的用法而有所不同了,但是一定要掌握你所常用的那个领域里的第三方库。

------------------------

level 3:Pythonic

这一级别比上一级别稍难,但是还是可以轻松达到。所谓 Pythonic,就是相比其它语言,Python 可以通过更加优雅的实现方式(不管是语法糖还是什么),比如(包括但不限于) with、for-else、try-else、yield 等。

另外你还需要掌握这些所谓魔法的实现原理,了解 Python 在语法层面的一些协议,可以自己实现语法糖。如 with 的实现方式(上下文管理器)等。

达到这一级,你的代码可以看起来很漂亮了。这部分内容,可以参考:

The Python Language Reference

Python HOWTOs

------------------------

level 4:高级玩法

掌握 Python 的内存机制、GIL 限制等,知道如何改变 Python 的行为,可以轻松写出高效的优质的 Python 代码,能够轻松分辨不同 Python 代码的效率并知道如何优化。

------------------------

level 5:看透本质

阅读 Python 的 C 实现,掌握 Python 中各种对象的本质,掌握是如何通过 C 实现面向对象的行为,对于常见的数据结构,掌握其实现细节。到这一步,需要将 Python 源码学习至少一遍,并对关键部分有较深层次的理解。

------------------------

level 6:手到拈来,一切皆空

不可说,不必说~

--------------------- 以下为补充说明 ---------------------------

看到评论区有朋友误解,这里解释一下。

首先,以上步骤并不是打怪升级,不存在到了一级再去第下一级,你完全可以在熟练标准库的过程中掌握语言的实现原理等,这并不矛盾。所以那些评论说「我已经 xx 级了, xx 时候要到 xx 级」的朋友们,希望不要误解了我的意思,你不必将自己限制死,而可以很灵活的变通。

另外题干中的「招聘要求写着“精通 Python 语言”」,对于这样的招聘要求,绝大多数其实是 HR 脑残(不排除少部分公司真的有特殊需求),一般面对这样的公司我会选择绕道而行。既然是找工作,还是要找自己满意且公司本身很不错的,人生苦短,何必跟自己过不去呢?说到这里,我看知乎的招聘岗位中(知乎招聘),貌似没有出现「精通」二字,自认技术高超的小伙伴可以去试试看哟~~~

最后,希望各位不要被某些答案「不需要精通 xx 语言」这样的言论干扰,编程语言有很多相似的地方,个人觉得掌握一门语言的底层实现,对自身的编程水平提升是很有帮助的。但是要搞清楚,仅仅编程语言是不够的,如何使用一门编程语言做有趣的事情,这很重要。

上一篇下一篇

猜你喜欢

热点阅读