打开boss直聘、拉勾、51Job、猎聘等招聘网站,看看python岗位招聘,要求是: 精通python。
那么,什么才算精通python呢?python
精通是个伪命题,怎样才算精通Python,这是一个很是有趣的问题。不多有人会说本身精通Python,由于,这年头敢说精通的人都会被人摁在地上摩擦。其次,咱们真的不该该纠结于编程语言,而应该专一于领域知识。好比,你能够说你精通数据库,精通分布式,精通机器学习,那都算你厉害。可是,你说你精通Python,这一点都不酷,在业界的承认度也不高。数据库
大家所说的什么要怎样数据分析、爬虫、Web 等,在我看来那不是精通 Python,而是精通某一领域,抛开 Python换用另外一门语言也可,在我看来,精通 Python 语言大约须要以下这些步骤:编程
level 1:了解基本语法
这是最容易的一级,掌握了 Python 的基本语法,能够经过 Python 代码实现经常使用的需求,无论代码质量怎么样。
level 2:熟练使用经常使用的库
熟悉经常使用 standard library 的使用,包括但不限于 copy / json / itertools / collections / hashlib / os / sys 等。
熟悉经常使用的第三方库,这就根据每一个人不一样的用法而有所不一样了,可是必定要掌握你所经常使用的那个领域里的第三方库。
level 3:Pythonic
这一级别比上一级别稍难,可是仍是能够轻松达到。所谓 Pythonic,就是相比其它语言,Python 能够经过更加优雅的实现方式(不论是语法糖仍是什么),好比(包括但不限于) with、for-else、try-else、yield 等。
另外你还须要掌握这些所谓魔法的实现原理,了解 Python 在语法层面的一些协议,能够本身实现语法糖。如 with 的实现方式(上下文管理器)等。达到这一级,你的代码能够看起来很漂亮了。
level 4:高级玩法
掌握 Python 的内存机制、GIL 限制等,知道如何改变 Python 的行为,能够轻松写出高效的优质的 Python 代码,可以轻松分辨不一样 Python 代码的效率并知道如何优化。
level 5:看透本质
阅读 Python 的 C 实现,掌握 Python 中各类对象的本质,掌握是如何经过 C 实现面向对象的行为,对于常见的数据结构,掌握其实现细节。到这一步,须要将 Python 源码学习至少一遍,并对关键部分有较深层次的理解。
level 6:手到拈来,一切皆空json
我我的是很反对对一个语言使用“精通”这个词的。由于广大码农嘴里的“精通xx语言”实际上毫无心义。表明不了任何东西。代码是一个工具,就像一只笔同样。你精通“使用”这只笔是毫无卵用的,而广大码农嘴里“精通xx语言”其实就是精通”使用“xx语言而已。精通使用一只笔是没有太大意义的(可是前提必需要基本会用哈),有意义的是你精通拿这只笔来作什么事,是拿来写书法、写文章或者是画画。然而写书法好的人换一只不那么熟的笔就不会写字了吗?写文章的换只笔就写不出好文章了?画画的换只笔就画不出画了?数据结构
所谓精通,第一个是这门语言实现上的抽象,第二个是这门语言适合应用的领域。语言自己没有太大的学习价值,或者不能说是价值低,应该说是门槛低吧。所谓门槛,无非就是经验与智力。对一门语言了解到能够胜任工做就能够了,没有必要过度纠结于语言这种东西机器学习
因此招聘网站上贴出的精通,能够用下面一个比方:
某个游泳池要开业,因此须要一些救生员。因而他就贴出了求职公告。诚聘救生员,需精通游泳,待遇从优,非诚勿扰。而后有人就在X乎上问了。大神们,什么叫作精通游泳?嘛,我以为吧,你起码得能在平静水面游个200米吧。哎呀这个太基本了。既然是精通游泳,起码你得把蛙泳仰泳蝶泳自由泳各来个一千米吧。年轻人,不要总想着搞个大新闻。主席畅游长江,谈笑风生,也没敢自称精通游泳。你游没游过长江啊。半年后,游泳池倒闭了。HR写“精通”的意思是,请新手有自知之明,咱们须要一些能解决咱们问题的人。什么叫能解决问题其实他也不明白,反正Team Leader满意就行。他但愿的是差很少就得了,多来几我的才是正事(这才是人家的KPI)。而不是一年总共才上门一我的,并且仍是个龟叔这个级别的人。实际上龟叔真的来了他才不知道该怎么办才好。就好像泳池招聘广告,只是但愿你能在须要的时候,跳下去救人。而不是但愿在泳池的旁边,养四个菲尔普斯。。。编程语言
更多关于python基础,微新扫一扫,之后会有持续更新分布式