3
回答
怎么样才算是精通 Python?

我认为「精通」要满足如下条件: 熟知主流硬件体系(x86, x64) 熟知 CPython 的具体实现,如若可能至少通读源码三遍以上 熟知每条 Python bytecode 如何被解释执行 熟知每条 Python 语句如何 compile 成 bytecode 熟知 Pyth搜索on 主要数据结构所采用的优化手段 熟知 JIT 以及哪些场合下 PyPy 会比 CPython 有较大性能提高、以及有什么代价 所以我一直只敢称自己为 「中级 Pythonista」。对于那些仅仅知道怎么用 Python 就敢自称「精通」的人:专家不是那么好当的,没有金刚钻别揽瓷器活。不懂那么多底层细节就不要随便说自己「精通」,说自己「擅长」不会被人看不起。 @米嘉 引用的 StackOverflow 上列的那几项条件是作为将 Python 用于主要工作语言所需要的基本条件,敢于因此而称自己「精通 Python」要让不少人笑掉大牙。况且那几项还有几个严重问题: 第3点:如若可能,尽量避免 map/reduce/fitler,而用 list/generator/set comprehension,代码要清晰得多,GvR 如此说。xrange 和 range 的区别在 Python 3 中马上就要滚蛋了,所以如非必要,不要大量使用 xrange。 第5点:敢于在 CPython 中大量使用递归是对 CPython 实现的公然侮辱。Python 的多个...

 很少有人会说自己精通Python,因为,这年头敢说精通的人都会被人摁在地上摩擦。其次,我们真的不应该纠结于编程语言,而应该专注于领域知识。比如,你可以说你精通数据库,精通分布式,精通机器学习,那都算你厉害。但是,你说你精通Python,这一点都不酷,在业界的认可度也不高。

  再者,Python使用范围如此广泛,一个人精力有限,不可能精通所有的领域。就拿Python官网的Python应用领域来说,Python有以下几个方面的应用:

  • Web Programming:Django, Pyramid, Bottle, Tornado, Flask, web2py

  • GUI Development:wxPython, tkInter, PyGtk, PyGObject, PyQt

  • Scientific and Numeric:SciPy, Pandas, IPython

  • Software Development:Buildbot, Trac, Roundup

  • System Administration:Ansible, Salt, OpenStack

  如果有人声称精通上面所有领域,那么,请收下我的膝盖,并且,请收我为徒。

  既然精通Python是不可能也是没有意义的事情,那么,为什么各个招聘要求里面,都要求精通Python呢?我觉得这都是被逼的。为什么这么说呢,且听我慢慢说来。

  为什么招聘要求精通Python?

  绝大部分人对Python的认识都有偏差,认为Python比较简单。相对于C、C++和Java来说,Python是比较容易学习一些,所以,才会有这么多只是简单地了解了一点语法,就声称自己会Python的工程师。

  打个比方,如果一个工程师,要去面试一个C++的岗位,他至少会找一本C++的书认真学习,然后再去应聘。Python则不然,很多同学只花了一点点时间,了解了一下Python的语法,就说自己熟悉Python。这也导致Python的面试官相对于其他方向的面试官,更加容易遇到不合格的求职者,浪费了大家的时间。Python面试官为了不给自己找麻烦,只能提高要求,要求求职者精通Python。

  怎样才算精通Python?

  既然精通Python本身是一件不可能的事情,而面试官又要求精通Python,作为求职者,应该达到怎样的水平,才敢去应聘呢?我的观点是,要求精通Python的岗位都是全职的Python开发,Python是他们的主要使用语言,要想和他们成为同事,你至少需要:

  • 能够写出Pythonic的代码

  • 对Python的一些高级特性比较熟悉

  • 对Python的优缺点比较了解

举报
铁扇公主1
发帖于2年前 3回/242阅
顶部