你们都是怎么学 Python 的?
给大家推荐一个Python资源。
有位名叫骆昊 (jackfrued) 的资深程序员,为大家规划了一条从“从新手到大师”的百天之路。
从全方位熟悉语言,到Python的进阶用法,再到天南地北的实战攻略:只要沿着这条路走下去,就都会遇到的。

这个项目已经在GitHub摘下8100星。
骆先生还在日程表的上方,温柔地鼓励了大家:
Python是一个“优雅”、“明确”、“简单”的编程语言。学习曲线低,非专业人士也能上手。你一定也想知道,这100天都会经历些什么。
开始是萌新最初的15天,都是Python语言基础的修炼。基本功很重要,每日内容也很丰满:

第一天,按照教程的步骤,搭好编程环境,充实的生活就可以展开了。
第二天是语言元素,第三天分支结构,第四天循环结构。比如,打开循环结构这一小节,会看到这类结构的用途讲解,各种语句的有毒基础用法,以及小练习 (如下) 。
while循环:

△智商余额不足第五天,就是初步总结和小测的日子了。看上去,测试题还很生动:

后面的10天,大致是这样:
第六天:函数和模块的使用第七天:字符串和常用数据结构第八天:面向对象编程基础第九天:面向对象进阶第十天:图形用户界面和游戏开发第十一天:文件和异常第十二天:字符串和正则表达式第十三天:进程和线程第十四天A:网络编程入门第十四天B:网络应用开发第十五天:图像和文档处理
其中,第十章是真·游戏课,会讲到“炮弹打中了飞机”“箱子摔在了地面上”这样的碰撞该怎么写,还要写个“大球吃小球”的游戏。
节奏这样欢快,这样治愈,你就不会放弃了吧。
至少,过了这15天,就不是个纯纯的萌新了。
进阶与实践基础打好之后,第16-20天,是Python语言进阶修炼。

你会把前面15天的修炼成果升级一波:用上不同的数据结构、算法,熟悉各种高级的操作。
这5天里,依然有许多有趣又经典的例子,比如在讲贪心算法的时候:
假设小偷有一个背包,最多能装20公斤赃物,他闯入一户人家,发现如下表所示的物品。显然,他不能把所有物品都装进背包,所以必须确定拿走哪些物品,留下哪些物品。
当然,游戏还是不能少,本章有纸牌游戏可以写着玩。

完成前20天的任务,你就是个小有经验的Python程序猿了。
再经过20天的姿势补充,就变得更加丰盈:
第21-30天:Web前端入门第31-35天:玩转Linux操作系统第36-40天:数据库基础和进阶这时,可以走出家门,去广阔的天地里实践了:
第41-55天:Django实战第55-65天:Flask实战第66-75天:爬虫开发第76-90天:数据处理和机器学习第90-100天:团队项目开发你可能已经发现了,“数据处理和机器学习”是最持久的一章,历时15天。

从各类Python库的用法,到决策树、贝叶斯分类、支持向量机这些常用方法,再到机器学习实战,这个章节都覆盖了。
美中不足,这章的教程似乎还没有更新完全。不过,但前面的75天,已经可以尽情探索了。
就算你已经不是纯纯的萌新,还是可以找到自己需要的章节,定点修炼。
那么,快开始吧:
项目传送门:https://github.com/jackfrued/Python-100-Days
— 完 —量子位 · QbitAI?\u0026#39;?\u0026#39; ? 追踪AI技术和产品新动态
量子位欢迎大家关注我们,以及订阅我们的专栏
■来自的网友回复
我从18年2月份开始自学编程,现在一年多时间,经历了从完全零基础(大学偏文科没有编程课)到现在熟练搬砖,希望能有一些用吧。
零基础入门:https://book.douban.com/subject/26919485/
vamei老师的从Python开始学编程,个人觉得最最入门的一本,非常基础,小白看懂应该没啥问题。还有纪念一下vamei老师,可惜了,英年早逝,唉
这本书看完,建议跟着廖雪峰老师的Python教程敲一遍代码,当然我觉得第一遍估计只能看懂前30%的内容吧,因为这个教程里面有不少高级内容,但是看不懂也跟着敲一遍,之后也许某天就顿悟了,学习是这样的,有一个潜移默化的时间。
Python教程
我最开始尝试理解面向对象编程的时候也花了一些时间,开始不懂很正常,但现在不懂不代表以后不懂,重点就是多看多自己敲。
上手应用这两个教程看完,建议去自己写写代码。Python无非三个用途,ML方向做数据分析、深度学习;开放方向做网站;写脚本,做爬虫;我觉得这三方面都可以学学,之后会得心应手很多。当然由于基础弱,没法做很复杂的,可以从这几个开始:
kaggle竞赛的教程,告诉你怎么用Python做数据分析
逻辑回归应用之Kaggle泰坦尼克之灾
下面这个,用Python做一个网页
Django 教程 | 菜鸟教程
然后,Python做一个简单爬虫
Python开发简单爬虫_python爬虫入门教程_python爬虫视频教程-慕课网
这也不是希望能完全理解,主要是大概明白一个项目的结构吧,如果真的往深度学习或者Web开发的方向做下去,还是需要很多知识的。但是我觉得学编程初期,不能完全理解也没关系,但是一定要多敲,只是看是永远也不能理解的。
进阶我觉得如果想学到初级,看完上面那些其实差不多了,如果要深入理解,可以看看一些进阶的优秀教材。
《Python cookbook3》,这本教材非常优秀,有许多平时很少用的函数和库还有一些设计思想。Python高级编程首选第一章:数据结构和算法 - python3-cookbook 3.0.0 文档
《机器学习实战》这本书里面的一些写法我觉得还挺好的,比如说尽量使用向量化编程而不是循环,可以加快速度https://book.douban.com/subject/24703171/
《Python性能分析》虽然说你都用Python了还讲什么性能分析。。但是这本书会讲讲一个完整的性能分析流程,内存泄露,进程线程的概念,这些东西迁移到其他语言也是类似的。我觉得可以看看,重点是multiprocessing的用法
https://book.douban.com/subject/26819420/
语言说到底只是工具罢了,计算科学有很多有意思的东西,也有很多需要精进的地方,要用啥再学啥吧。
19.5.21更:收到好多私信问我Python怎么学的,请各位好好看下答案吧,写的很详细了
关于做算法是不是只需要用python,很多时候在某些地方需要用C++及CUDA加速的,打包算法的时候没人帮你得从头写C++,该学还是要学的,python只不过是入门罢了
■来自的网友回复
无意中听我们院长大人说:Python是一门神奇的语言,在此之前我已经对C/C++/Java等几门语言有了一定得了解和掌握,并做过一些小项目。
学习Python大致可以分为以下几个阶段:
1.
刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程
2.
看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习。
3.
如果时间充裕的话可以买一本讲Python基础的书籍比如《Python编程》,阅读这些书籍,在巩固一遍基础的同时你会发现自己诸多没有学习到的边边角角,这一步是对自己基础知识的补充。
4.
Python库是Python的精华所在,可以说Python库组成并且造就了Python,Python库是Python开发者的利器,所以学习Python库就显得尤为重要:The Python Standard Library ,Python库很多,如果你没有时间全部看完,不妨学习一遍常用的Python库:Python常用库整理 - 专栏
5.
Python库是开发者利器,用这些库你可以做很多很多东西,最常见的网络爬虫、自然语言处理、图像识别等等,这些领域都有很强大的Python库做支持,所以当你学了Python库之后,一定要第一时间进行练习。如何寻找自己需要的Python库呢?推荐我之前的一个回答:如何找到适合需求的 Python 库?
6.
学习使用了这些Python库,此时的你应该是对Python十分满意,也十分激动能遇到这样的语言,就是这个时候不妨开始学习Python数据结构与算法,Python设计模式,这是你进一步学习的一个重要步骤:faif/python-patterns
7.
当度过艰难的第六步,此时选择你要研究的方向,如果你想做后端开发,不妨研究研究Django,再往后,就是你自己自由发挥了。
■来自的网友回复
不BB,直接上干货。
学完下面的内容,绝对可以找到工作。
以下所有的资源,在我的微信公众号「痴海」,后台回复「python学习」即可获取。
一 Python 基础
这部分主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库)。
按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件\u0026amp;循环,文件对象,错误\u0026amp;异常,函数,模块,面向对象编程;结合这些思维导图主要参考的资料,分享一下我的学习体验,一方面可供初学者参考,另一方面,也便于大家结合思维导图深入学习、理解、思考;思维导图
默认阅读顺序:从右→左,顺时针方向。思维导图软件:XMind总览

14 张思维导图这 14 张高清思维导图,在我公众号「痴海」,后台回复「python学习」即可获取。
第 1 张图
基础知识图一包括了基本规则、Python语言特点、计算机语言、如何运行Python、变量赋值五个方面,辅助你快速掌握Python编程的基底知识。

第 2 张图
基础知识图二包含了模块结构、布局、IO编程流程、标识符、Python对象、内存管理、动态类型六大模块,两张基础知识导图可以帮助你区域化了解Python的组成部分及基本操作。

第 3 张图
学习Python少不了对数据的了解,这张图整理了数据类型的分类、作用、空值、标准数据、if语句等等模块。

第 4 张图
这张图整理了序列的有序排列、标准操作符与序列类型操作符的重点知识,以及可操作性的BIF。

第 5 张图
字符串是个比较庞大而精细的部分,接着上图的BIF可分为标准类型、序列类型、字符串类型,字符串可分为五种操作符类型,此图还整理了序列的独特特性以及编码问题,可以说很详细了。

第 6 张图
关于列表|元素,首先说拷贝问题,分深浅拷贝两种形式。tuple的内建函数、特殊特性与list的操作符、内建函数是重点部分。

- 贵阳正畸医生周新莹@牙齿不白都是这些“害”的,五点原因让你明白牙齿为什么变黄
- 『美食与点心』红烧征服一切!这些红烧菜谱,道道都是米饭杀手,吃货们快收藏吧
- #核桃#别看核桃小,浑身都是宝
- 肾病大夫王暴魁:慢性肾衰竭患者都不爱吃饭?都是以下原因!
- 「搜狐新闻」木筷竹筷容易发霉?小小妙招告别烦恼,都是厨房里常见的东西
- 【清明粑】每一口都是儿时回忆!美食专家教你3步轻松做出清明粑
- 『木子银说情感』心理学家:有这四个特征的人,无论脸上多和善,都是内心阴暗的人
- 「艾滋病」恐艾的九大错误必看 艾滋病恐惧症状都是吓出来的
- 植株■米兰养糟心,满盆都是黄叶子,先别急,做好这6点还能返青
- 快乐养生:我们来照顾母亲,你们放心战“疫”——秦皇岛市一院医护人员情暖前线英雄
