前言
之前在知乎写过一篇关于Python如何入门学习的回答,目前已有2600赞,12000收藏。这里分享一下,可能对初学者有参考意义。已经入门的也可以看一下里面的学习思路,是否和你的想法一致呢?
正文
首先学习python一定要以实用性为导向!盲目看教程,结果大多是浅尝辄止,从入门到放弃。
我想告诉你我的经验,如何在一个月内入门python!
【why】 你为什么要学习python?
爬虫?数据分析?机器学习?又或者其它?
在找一本python教程准备啃之前,一定要问问自己,我为什么要学习python?
python在近几年越来越受追捧,很多童鞋或者职场小伙伴想要提升技能-学习python。这是非常好的事情,但问题在于很多人不知道学python做什么,所以什么零碎细末、艰难晦涩、长篇大论的都去看,很容易陷入学不下去的困境。必须要有针对性、选择性地学!
针对性学习宗旨是按需去学,学以致用。
想成为木匠,才去学习用刨子、用车床,一个砖瓦匠就没必要瞎费这功夫。同理,当你对网络爬虫感兴趣,并且有爬一个网页的冲动,这时候去学python是最容易上手的。
我是做数据分析工作,学python的初衷是想利用python强大灵活的数据分析能力。
python做数据分析对语法的要求并不高,只要能理解基本的逻辑结构、数据类型、数据结构、运算符、函数、库,就可以运用到实际项目里。
所以我就没必要花很大功夫在诸如类、web编程、模块、线程等数据分析不常用的功能上面,如果真遇到这些内容,我再去查资料搞清楚。
【what】选择什么样的教程学?
在明确自己为什么学python后,要选择合适的书籍教程。不可否认,市面上已经有太多python入门书籍,以及更多的网络教程。
我只推荐给大家python官方文档,不久前该文档已经汉化,大家可以很方便的去学习最新最全的python知识。如果你有能力阅读英文文档,那就选英文文档,毕竟第一手的内容更专业。
当然,官方文档知识点太多,初学者很难找到要学的内容,这时你需要查查各个专业领域的python要求。
如果你是要准备从事数据科学,不妨去kaggle数据科学微教程看看,里面会讲到数据科学需要的python知识,然后对照着一个知识点一个知识点地啃python官方文档。
如果你要做爬虫工作,不妨在网上买一本评分高的python爬虫书籍,一般来说里面会有python基础部分,同理你只要在官方文档里找这部分知识学习。
针对性地在官方文档里学习python知识,不仅节省时间,而且你会发现更容易理解,因为你是带着问题去学习的。
【how】怎么去学习python?
其它回答里也提到了在重复练习中学习python,这点我是非常认同的。输出是最好的输入,编程语言虽然注重逻辑,但更需要学习者不断地动手敲代码。
从一开始,你要学会如何搭建python环境,选择什么样地开发环境(IDE)。这些都可以去网上查,慢一点的折腾两三天,快一点的一天不到就能搞定。总之,这是学习python的第一步,也是练习的开始。
对于官方文档的每一段代码,我建议都动手亲自敲一遍,比如你看到字符串这一节,在理解了字符串定义后,文档会给出示例代码和运行结果:
照着示例代码,在你的编程环境中实践,千万不要复制黏贴,对自己的火眼精金过度自信并不是一件好事。
【when】如何制定时间学python?
学习python切忌拉很长战线。制定的计划时间越长,人的惰性、拖延就会冒出来。
我的建议:
- 制定5~8周的学习计划
- 一周学习5天
- 每天3小时左右
理由是:
- 时间不长1~2个月,比较容易坚持
- 符合一门大学课程的学习周期
- 短时间高密度的学习有利于形成知识的连贯性,对python理解也会更加深入
当然,这中间需要监督机制,你可以在社交平台打卡,可以制定自己的学习课程表,也可以和朋友一起学习。
结合网上资料和python官方文档,整理一份30天python 学习计划,供大家参考。
- 第1天 Python简介 - Python的历史 / Python的优缺点 / Python的应用领域Python环境搭建 【参考资料】
- 第2天 使用python解释器 【参考资料】 关于python语法的简单介绍 【参考资料】
- 第3天 词法结构 运算符和表达式 【参考资料】
- 第4天 python数据结构 列表/字符串/元组【参考资料】
- 第5天 python数据结构 字典/集合 【参考资料】
- 第6天 python流程控制1【参考资料】 if语句 for循环 while循环
- 第7天 python流程控制2【参考资料】 continue语句 break语句 pass语句
- 第8~9天 格式化字符串 读写文件【参考资料】
- 第10~12天 python函数 【参考资料】 Lambda 表达式 编码风格
- 第13天 python模块 【参考资料】
- 第14天 迭代器 生成器 生成器表达式
- 第15~16天 错误和异常【参考资料】
- 第17~19天 面向对象编程 【参考资料】
- 第19~20天 标准库使用 【参考资料】 日期和时间 数学 操作系统接口
- 第21天 安装 Python 模块
- 第22~23天 虚拟环境和包
- 第24天 多线程
- 第25~30天 训练题