Python基础语法知识学好之后,入门进一步提升

提高python的路只有一条 -- 就是实践, 写代码. 然后总结, 思考, 探索. 目标也很直接: 你会觉得过去写的xx有更好的表达方式, 过去写的xx写的很烂

我来把我这条路的历程总结下来做些提示:

1. 最开始很多是copy代码

2. 发现这些代码可以抽象-- 比如, 一屏下来好几个函数长得差不多, 只是参数或者内容逻辑上有些变化. 那么你可以把这些函数聚合成一个函数,通过传递不同的参数达到一样的效果

3. 看别人的项目, 看到别人实现你要做的事情用什么方式, 都有几种方式, 你甚至可以研究下哪种方法效率更高,那种方式写出来逼格更高, 然后总结, 思考,问问自己为什么他们这样用, 记下来.

4. 尝试看一些大型一点的项目的文档,甚至代码 -- 可能造成我的环境里报错了, 那就要研究为什么, 甚至可能直接阅读他的代码找到原因-我用错了, 他的错. 慢慢地觉得它们有点近了.

5. 发现别人的项目import了好多没见过的module, 我直接去google或者看python文档看它是做什么的, 都有什么方法, 常用于什么地方, 然后渐渐地用了几次就记下来了.

6. 用python无非三种, 运维/devops,web开发, 数据分析/算法. 每一种都有对应相关的库, 你渐渐的熟悉他们的用法, 甚至你在生产环境推了xx, 效果很不错, 心情灰常好.

7. 随着你用的越来越深, 需要掌握的反而更多- 要学习一些前端的,学习一些linux/osx的. 你可能就会有想法, 我想做点什么大事.

8. 这个时候可能你了解了MVC/MVT等等. 开始思考设计模式, 我要拆分, 让架构更合理. 我就要推翻我过去写的很多东西, 我准备重构了....

9. 重构过程很痛苦, 但是学到了很多. 然后设计模式也好, 设计思想也好, 渐渐的留在心里. 以后再写一个feature或者一个功能 会先跳出来很多为什么, 我应该怎么样/不应该怎么样. 会发现代码越来越漂亮. 效率越来越高.

10. 开始吐槽同事的代码, 用法balabala. 既然吐槽了, 自己就不能太low对吧? 那对自己的要求就越来越高.

11. 开始阅读大型的优秀项目的代码, 阅读是很类很痛苦的. 程序员最大的痛苦是什么? 看别人写的代码. 你还要进入作者的角色, 考虑ta为什么这么写这么设计. 呃呃. 突然发现他的代码逻辑有问题, 本地测试一下果然, 然后心惊胆颤的提了个pr. 然后被接收了. 这个世界立刻不一样了 - 你发现你原来没有想的那么差, 你可以吐槽你以为认为牛b的xx,yy了.

12. 越来越有信心, 看了很多项目的代码,也贡献了很多. 学到了很多. 这个时候又再有了想法? python-我还有什么不会的呢? 好多第一个蹦出来的就是--我还没有读过python源码, 好吧c我不会. 但是标准库基本是python写的. 看看我成天import的那些东西是怎么写的, 还有什么奇葩的用法.

这个过程很费时间, 我第一次读大概有40%没懂 或者忘记了. 但是已经有一种感觉 - 一旦想到一个需求就能想到python标准库里面有没有已经实现了的,如果有可能记不清在哪里-这就是挽回记忆的时候了. 我有一段时间在重构这部分, 把我写的一大段一大段删掉 换成`from x import y`. 然后我又一个认识-python最好的用法, 最nb的功能其实都在python标准库里面的. 我建议每个学python得都要看一遍标准库. 而不是看python官方文档而已. 好吧 我顺便给标准库贡献了点代码-我真的很想贡献很多, 发现英文阅读能力, python库的测试覆盖很高,代码的作者们都很nb,造成我很费劲的只贡献了几行而已.

13. 从此之后, 设计一个项目我就有了新的角度 - python标准库有没有对应部分的实现. flask是怎么设计的. 我能借用到什么? celery这么组合的, 那些我觉得不适合我这里. 我怎么调整? 我的这个东西在xx里有什么样的作用和位置

14. 继续给喜欢的项目贡献代码, 顺便读读它的代码. 觉得我不喜欢的它的用法. 我fork一个. 做成我想要它成为的样子.

15. 突然发现用了很几年的web框架, 现在虽然用什么都没问题, 也可以现学现用. 但是发现一个根本点? 我为什么一直在用别人写的框架. 不如自己写一个. 好吧我正在写....

16. 推荐下我自己创建的Python学习交流群935711829,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程。

希望对大家有帮助

猜你喜欢

转载自blog.csdn.net/qq_43700339/article/details/84538185