Home  >  Article  >  Backend Development  >  Python 学习完基础语法知识后,如何进一步提高?

Python 学习完基础语法知识后,如何进一步提高?

WBOY
WBOYOriginal
2016-06-06 16:22:311239browse

在了解的Python的基础后如何寻找小项目程序来学习?哪些网站社区相关的资源比较多?

回复内容:

感谢 @壮壮 妖. 我觉得这基础离写程序还不够,就算看也只能停留在小脚本这个水平. 遇到复杂的语法或者调用了模块还是搞不定的. 我个人建议买本或者去读. 读的过程体验它的例子, 还可以在读的过程中或者看完之后去尝试写一些程序. 程序是和自己的工作或者兴趣相关. 可以先实现, 然后优化/加feature. 过程中出现困难或者不知道改怎么进行思路可以去google/github/stackoverflow上面找类似的问题或者项目, 尝试理解并且‘搬’到自己的项目里面.

提高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. 对我来说就发生到这里,之后的还不知道

希望对大家有帮助 新手推荐一下自己喜欢的 Dive Into Python 3
  • 通过很多实例进一步学习 Python
  • 每个章节末尾会有 further reading,进行更深入的学习
另外该书这里(Where to Go From Here)有各种高级主题的资料推荐。 github.com/Yixiaohan/sh
pythonchallenge.com/
fullstackpython.com/bes
pbe.lightbird.net/
lightbird.net/dbe/
github.com/karan/Projec
reddit.com/r/Python/
hackerrank.com/

根本停不下来。 谢邀。GitHub 看书的话,从下面的列表中选一本。
wiki.python.org/moin/Ad

做项目的话,发挥想象力,不要一味模仿,否则编程就没意思了不是吗? 很多人问过类似的话,我的回答见 关于Python编程的一些问答 中“怎样学习Python”小节。 三个方向:
① 动手开发小项目,比如楼上说的爬虫网站;
② 了解学习一些高级用法,列表解析式,装饰器之类。
③ 学习python源码,看看C语言是怎么实现对象机制,怎么做垃圾回收。

播放地址

github.com/pythonpeixun

迪艾姆python培训_python编程思路1.flv

迪艾姆python培训_python编程思路2.flv

迪艾姆python培训_python培训_python爬虫.flv

迪艾姆python培训_python培训_while循环.flv

迪艾姆python培训python培训编程思路三.flv

迪艾姆python培训python培训函数抽象.flv

迪艾姆python培训python培训类抽象.flv

迪艾姆python培训python培训嵌套函数.flv

迪艾姆python培训python培训实例对象.flv

迪艾姆python培训_sublime text配置.flv

迪艾姆python培训_tornado之hello world.flv

迪艾姆python培训_web.py之hello world.flv

我把我的学习方法说给你听听吧
首先是掌握基础知识,网上有很多基础知识,比如这个网站就有Python全套的视频教程,可以去看看:Python视频教程_Python开发实战视频 而且里面还有很多项目教程,掌握基础知识之后可以练练手
然后掌握基础知识之后,就是每天打代码,练习,从练习中不断熟练,也能发现自己没掌握的,或者新的知识点
最后就是找些小项目练习,根据练习中掌握一些人家的思维,以后遇到大的项目,也能从很多方面思考。 题主可以结合openCV,然后往图像方向搞搞,很有意思
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn