也许是史上最全Python学习资料汇总

这篇文章本来不打算写的,因为一方面不是这方面的专业人士,不敢瞎编乱造。另一方面,目前已有的资料,不知质量如何,不敢随便发出来。
直到有幸邀请了隔壁学院的@泽文。软件工程专业,绩点专业第二,保研无悬念,国赛国二。
首先感谢你们的邀请,很高兴和这么多人一起交流python学习心得。在知乎水过几个问题,但至今都是寥寥几十赞(逃)。
在正式开始之前想跟你们聊一个很关键的问题,就是,
大家为什么要学python?
我跟坚果也聊了这个话题,了解到,很多文章关于这个问题的回答是“教育部正式将人工智能、物联网、大数据处理正式划入高中新课标”、“python纳入浙江高考”、“python纳入山东小学教材”等。我的分析是,这些都不足以成为学python的原因。因为它成为我们学习python的原因,需要这样一个逻辑,
python成为中小学重要课程内容——python成为中小学生一项重要能力——未来,这些掌握了python的大学生相对于不掌握python的我们有明显的竞争力
这里面的逻辑漏洞有这两个:
“课程内容”到“重要能力”不是必然的,原因很明显,至少在中国很明显。
“重要能力”到“明显竞争力”不是必然的,原因是,他们在掌握python同时,我们可以掌握其他技能。
所以,这些都不足以成为我们学习python的原因。那我们为什么要学习python呢?这个可以分为以下两个层面的问题来回答。
我们为什么要学编程?学编程为什么要优先学python?
先回答“为什么要学编程?”,这个问题其实你们心理都有答案。“大数据”、“人工智能”、“物联网”这些关于未来的趋势,你们都有所耳闻;编程的好处,你们也有所体会;学编程的痛苦,你们也有所经历(谁家大学生没学过《大学计算机基础》、《c/c++/c#/vb程序语言设计》)。说白了,道理你们都懂,我不必好为人师。我就只问几个问题,你们的想法才应该是“为什么要学编程?”最好的答案。
你希望编程成为你的谋生手段,还是仅仅你职业技能的一部分?如果是前者,你还有更有竞争力的谋生手段吗?有就学更有竞争的。如果是后者,你喜欢编程吗?不喜欢就把有限的时间和精力放在对你有益而你又喜欢的技能上。还有,你希望计算机语言背后的处理机制成为你思维模式的一部分吗?(换句话,你希望有计算思维吗?)
第二个问题,学编程为什么要优先学python?注意,这个问题不等于“python是不是最好的编程语言?”关于“最好的编程语言”这个争论,早已从学术讨论变成段子展示,专业人士知道这个问题没有答案,“列出一门语言的各个优点得出其为最好”这种做法,相当业余。
比如,“同样一项工作c语言可能要1000行,java要100行,python可能只要10行。”一个具体的项目怎么能说明问题呢?完全能找到另一个项目代码行数刚好相反。
又比如,“北京python工程师的薪资平均为18880每月,即使是刚刚毕业的应届毕业生,做python在人工智能领域的薪资也在12500元每月”这种说法,你要知道,这一行每个人基本都掌握两种以上的语言,“python工程师”完全可能在某个项目使用java,那这个项目的收入要不要算入的“python工程师”月收入呢?同样,“java工程师”的月薪资考虑python项目的收入了吗?
还是要回到本质上回答这个问题。我们作为一个入门者,选择第一门语言要考虑两个方面的因素。
容不容易上手?是否利于进一步重大提升?
“哪个是最好语言”没有答案,但“哪些语言直观简洁”倒是有共同观点。python就是其中之一,同样的,还有vb,c#,matlab等语言,这些语言很多语法跟我们自然语言类似。但是不是有利于进一步重大提升?比如vb、php,当你用这些语言开发过大型项目,你会感叹这些语言设计是如此不理想。但python却经常用于大型项目的开发和维护,像google、youtube、豆瓣、nasa等。
在学习成本和未来提升成本中寻求平衡,我个人推荐入门者首选python。当然,最近比较火的大数据、人工智能等,需要大量的数据处理,这方面python有优势,也许也可以作为你做决策的一个参考。
经过以上的分析,你应该清楚自己为什么要学python。不要因为身边的人都转发《2018为什么你一定要学python?》你就强迫自己一定要学会python,真没必要,python只是一门编程语言。
那我们开始学习的交流吧。按照坚果提的建议,我的交流将分为几个部分进行
1.知识框架图
2.编程工具
3.优质网盘资料
4.优质网课推荐
5.专业论坛
6.有意思的技巧
1
知识框架图
进入一个新领域最好先对这个领域的知识框架有个大致的认知。这是csdn论坛关于python的知识框架。
(这是部分截图,高清图片和下文的网盘资料一起分享)
2
编程工具
官网上是免费的,放心去下吧。
官网也提供了详尽的关于各版本的对比。
官网地址:https://python.org/
3
优质网盘资料
学习网盘资料我个人认为不是最好的学习方式,不过考虑到很多朋友寒假回家无网或弱网,找个时间离线下来,再按节奏学习,也相当合适。
我是相当佩服坚果,找来了300多g的资料,也倍感压力,因为要我剔除劣质,尽可能压缩体量,再做进一步分类。这是我去除其中不完整的、重复的、内容低劣的结果。
总共21们课程,应该能满足不同人的不同学习喜好。里面每个课程都是完整的。
资料获取方式:
后面几点将会在后面的文章《也许是史上最全python学习资料汇总(二)》介绍。
学霸的分析,清晰到位,逻辑为王,学霸学霸。再次感谢泽文。
——打酱油的坚果