Python培训机构老师谈谈Python哪些事
来源:
奇酷教育 发表于:
今天奇酷Python培训老师想要跟大家谈谈学Python哪些事、Python如何进阶、如何准备Python面试等相关的内容,而且是资深的Python培训机构
今天奇酷
Python培训老师想要跟大家谈谈学Python哪些事、Python如何进阶、如何准备Python面试等相关的内容,而且是资深的
Python培训机构老师跟你聊,学Python不知道的看什么书、不知道去哪个网站、不知道关注哪个公众号.......这里统统告诉你!
学生问:请老师先谈谈Python如何进阶这个话题吧。
Python培训老师:很多同学在线咨询问这个话题,回答过一些问题,大家有空可以去翻翻或者在线咨询。进阶就是一点点的积累,首先不要不舍得花时间。你要舍得花时间。个人很推荐读优秀的开源项目源码 以及自己「造轮子」这2种方法。这个过程中不断的反思和积累各种经验。
其次是看别人的博客,多看书。但是要掌握一些过滤不好信息的技巧。有些订阅列表 我在专栏中也有写。大家有空可以去看看。我还订阅了python社区的一些邮件列表,说实话很烦。但是有时候你们看到一些社区开发者讨论,甚至是激烈讨论。我喜欢静静的看他们,学习他们对一些事情的看法,和思考的角度。
还有就是去看python标准库的代码。我还没有看过Python的C的部分。剩下的就是有勇气给开源社区提一些issue pr。
学生问:如果初级、中级、高级Python工程师分的话,你认为各自水平的工程师应该掌握哪些语言特性和用法?
Python培训老师:根据我的理解,初级的基本就是够工作,那买 python 的书看2,3本,(掌握)里面的50%,熟悉Python常用的模块,就可以工作了。
中级,就是愿意花时间让代码写的好一些,比如今天学习了元类,用上。明天觉得类装饰器不错,也用上,不考虑用的恰不恰当,基本Python用到的东西都「熟悉」。
高级就是明确的知道什么时候该用什么,什么场景该用什么,怎么用。恰到好处。
学生问:李老师,你好,在公司实际的项目开发中,有些新人是Python基础功夫蛮好,各种 Python 试题都能回答的不错,但是遇到实际项目开发,只管当前跑通,但写程序整体观总是比较欠缺,功能耦合越多的时候,问题就会越积累越严重。搞的后来几乎每个模块都要重构过。这个你觉得是属于能力问题?还是态度问题呢?
Python培训老师答:我觉得这是一个工程师必进之路吧,前提是你知道它有问题,这很重要。有时候产品不是一个工程师能决定的,这个真靠个人节操了。知耻才能后勇。我以前也是,现在你让我看 2 年前的代码,我也不想承认那是我写的。我希望 2 年后我看今天的代码,也有这种感想。领导很重要,公司文化和团队文化很重要。
学生问:总感觉写代码没头绪呢?
今天说几点,第一是一定要按照 PEP8 来,团队可以有妥协,大家同意即可。第二是尽量让代码写的 Pythonic 。这个是一个很长期的过程。
接着你有兴趣,你得各种方式影响别人,说服别人。这个是非技术能力了。注意表达的方式方法,比如不要指点,而是在咨询。有时候气氛不好了,发点搞笑图片。自己的话,本地可以试试 pre-commit 。可以让你的编辑器支持代码自动执行 flake8 。
学生问:前端开发和 web 开发一样吗?
Python培训老师:在豆瓣不一样,但是是重合的,比如我们组内的前端工作都是我们组的后端工程师消化。我们组的前端实力灰常强。
学生问:如果是学习 web 应该造什么是有帮助的呢?
学生问:很多人想了解下,Python web 开发方面,框架如何选择?django or flask?如何学习框架?学完是不是就可以工作了?
Python培训老师:我个人不喜欢django, 这句话,大家谨慎的看。这个和个人写代码,或者性格有关。我不喜欢耦合度太高,束缚太重的东西。
有人说 django 是企业级的,其实 pyramid 更合适。我们组现在有一些产品就是使用 pyramid 做的。我挺喜欢。但是不推荐,因为对新手不咋友好。
django 还是 flask, 我没法建议。但是新人学习建议 flask,学的差不多了(如果工作中有用 django 更好,没有的话自己学些),自己给自己个答案。但是离找工作还挺远的。
框架只是一个工具而已。就算是 django, 吭哧吭哧一个月你也能学个差不多。关键还是使用 python 的熟悉程度,还有对 web 开发工作的经验了。
学生问:老师,怎样才能把代码写的 Pythonic 呢?
Python培训老师: Pythonic 没法帮你,靠你积累,看别人的实现你思考,自己不断地对自己有要求,比如效率,比如代码可读性。