http://www.dongwm.com/archives/ni-zhen-de-hui-pythonma/
你知道python怎么用嘛?
- 在什么时候需要使用OOP?
- 在什么时候使用类装饰器?
- 你用过元类嘛?
- 在什么时候用静态方法什么时候使用类方法?
- 你了解那些管理属性? call , init , __new__都是在什么时候被触发?__getattr__和__getattribute__应用有什么不同?
- 你知道标准库里面的多少个模块?你能在需要的时候知道这个功能其实标准库里面已经实现了?
- 什么时候用回调?
- 什么时候用signal?假如你会django你知道django的signal是什么?你了解orm嘛?
- asyncore,contextlib, functools, collections, heapq,itertools, SocketServer, weakref,operator(知道3个就算)这些你会几个?
- python的多态是什么?
- 在什么场景可以尝试python的设计模式中的XX(能想到2个场景就算)?
- 在什么时候可以使用Mixin?
- 在什么时候可以使用python的闭包?
- 你曾经用过yield嘛?生成器和迭代器的区别和应用场景是什么?
- 在什么可以使用python的函数式编程?
- __future__模块里面都有什么定义的用法?
提笔想了这上面16点我认为体现python的东西,假如你不能有效的回答上面1/4, 好吧不要和我说你原来是会python的,踏实下来..你的路还很长.假如你回答不超过一半,我提醒你-你只是刚入行而已(这是我的角度)
假如我是一个入职后的带新人的引导者
- 学好git… 呵呵
- 假如新人还不熟悉python,python_koans是和不错的入门选择
- 首先就是严格的代码规范,加上团队的文化以及风格.
- 我会给一个任务,比如一周内写个多线程的socket命令行聊天程序,支持群组,加好友,群聊,发送文件等功能,看新人能力而定
- 而后把项目一部分略棘手的工作教给他,注意这里是生产环境,在他完成任务的过程中会熟悉我们的上线/code review/代码风格等东西
- 我希望整个团队一起贡献一个基础的公共库,包含一些常用的功能,然后新人首先学习这些东西,以后就不需要浪费时间造轮子,但是可以修改完善公共库, 这个公共库可以在新服务器部署时候直接使用pypi或者ubuntuPPA安装进来
什么算是好的python代码?
假如你的代码没使用pep8检验过,你已经无敌了. 最差你也要使用autopep8格式化差劲的代码吧?如果你想对自己的代码质量有要求,我强烈建议你了解什么是pythonic: