我从18年2月份开始自学编程,现在一年多时间,经历了从完全零基础(大学偏文科没有编程课)到现在熟练搬砖,希望能有一些用吧。
零基础入门:
【从Python开始学编程】
vamei老师的从Python开始学编程,个人觉得最最入门的一本,非常基础,小白看懂应该没啥问题。还有纪念一下vamei老师,可惜了,英年早逝,唉
这本书看完,建议跟着廖雪峰老师的Python教程敲一遍代码,当然我觉得第一遍估计只能看懂前30%的内容吧,因为这个教程里面有不少高级内容,但是看不懂也跟着敲一遍,之后也许某天就顿悟了,学习是这样的,有一个潜移默化的时间。
廖雪峰的Python教程
我最开始尝试理解面向对象编程的时候也花了一些时间,开始不懂很正常,但现在不懂不代表以后不懂,重点就是多看多自己敲。
上手应用
这两个教程看完,建议去自己写写代码。Python无非三个用途,ML方向做数据分析、深度学习;开放方向做网站;写脚本,做爬虫;我觉得这三方面都可以学学,之后会得心应手很多。当然由于基础弱,没法做很复杂的,可以从这几个开始:
kaggle竞赛的教程,告诉你怎么用Python做数据分析
逻辑回归应用之Kaggle泰坦尼克之灾
下面这个,用Python做一个网页
Django 教程 | 菜鸟教程
然后,Python做一个简单爬虫
Python开发简单爬虫_python爬虫入门教程_python爬虫视频教程-慕课网
学完上面的内容,能够大概明白一个项目的结构,如果真的往深度学习或者Web开发的方向做下去,还是需要很多知识的。但是我觉得学编程初期,不能完全理解也没关系,但是一定要多敲,只是看是永远也不能理解的。
进阶
我觉得如果想学到初级,看完上面那些其实差不多了,如果要深入理解,可以看看一些进阶的优秀教材。
第一章:数据结构和算法 - python3-cookbook 3.0.0 文档
https:// book.douban.com/subject /24703171/
虽然说你都用Python了还讲什么性能分析。。但是这本书会讲讲一个完整的性能分析流程,内存泄露,进程线程的概念,这些东西迁移到其他语言也是类似的。我觉得可以看看,重点是multiprocessing的用法
https:// book.douban.com/subject /26819420/
语言说到底只是工具罢了,计算科学有很多有意思的东西,也有很多需要精进的地方,要用啥再学啥吧。
19.5.21更:收到好多私信问我Python怎么学的,请各位好好看下答案吧,写的很详细了
关于做算法是不是只需要用python,很多时候在某些地方需要用C++及CUDA加速的,打包算法的时候没人帮你得从头写C++,该学还是要学的,python只不过是入门罢了