Python入门学习指南分享


Posted in Python onApril 11, 2018

对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃。以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段

NO.1 新手入门阶段,学习基础知识

总体来讲,找一本靠谱的书,由浅入深,边看边练。

网上的学习教程有很多,多到不知道如何选择。所有教程在基础知识介绍方面都差不多,区别在于讲的是否足够细(例如运行原理)以及是否有足够的练习。目前推荐大家看书《Python编程 从入门到实践》 ,作者是美国教师,内容从基础知识开始,循序渐进,层层深入,适合零基础者。课程内容第二部分有三个项目实战:外星人入侵、数据可视化、Web应用程序。

不要看很多本,专注于一本,从头到尾看下去,把里面的例子和习题都动手练习一遍,搞懂为什么。编程从一开始就离不开练习,光看是不可能看会的。只有你在电脑上一行一行的敲代码,才会发现其中没注意到的细节问题,才能有更深刻的理解。缩进、大小写、括号、引号、代码执行的方式等,都是早期学习的坑,切记,不要直接复制代码,一定要手动去敲代码、运行代码。

这个阶段最重要的就是:学好基础知识。掌握了基础之后,便可以开始做项目练习锻炼编程思维了。

NO.2 做项目练习阶段,锻炼编程思维

掌握了Python的基础知识后,你会写代码了,但是还无法掌握"编程思维"。因此需要更多的练习,来理解程序的结构设计、算法等,能用1行代码解决的事情,坚持不用2行代码;能1秒运算完成坚决不用2秒

网络上有很多的的Python入门练手项目,例如知乎《Python 的练手项目有哪些值得推荐》 ,里面有很多的练手项目。练习项目,可以锻炼自己的编程思维,同时了解Python的内置库和第三方库,开始学习如何使用这些库

编程入门最好能找一个已经会Python的人,在遇到问题时进行咨询,可以少走很多弯路。但是,要学会查看官方文档和搜索,学会如何更好地提问。没人愿意帮你写作业或是回答那些“一搜便知”的问题。学会解决问题的方法很重要,这将伴随你的编程生涯。

NO.3 真实的项目实战阶段,实际应用

经过一段时间的学习和练习,写过一些小的程序之后,往往会陷入瓶颈,这个时候的你会写代码会做题,但是对于真实的项目开发依然缺少认识(例如如何开始写游戏"外星人入侵"),一旦程序规模较大就无从下手,不知道从哪里开始。这个时候可以去挑战具体的项目了,爬虫、web开发、数据分析、机器学习等广阔的世界已经向你敞开

下面几个图谱可以提供给大家一些学习思路

Python入门学习指南分享

Python入门学习指南分享

在这个阶段,需要有明确的开发目标,并且对目标做一定的设计和功能划分,然后逐步开发直至完成。这其中会遇到各种问题,在不断解决问题时,你的开发水平和问题解决能力也将随之得到提高

还比如:以下是部分项目的实际应用,提供了解决思路和实现过程

  • 抓取美女写真图片并保存
  • 人脸识别-抓取颜值大于70分的美女图片
  • 电影票比价网
  • 12306抢票程序

编程心态很重要,因为编程是个理论与实践相结合的事情,并且实践更重要。从简单的程序开始,坚持练习。一定不能着急,欲速则不达。也不用太在意你做的项目本身是不是够酷炫够高大上。对学习阶段来说,不管好项目坏项目,只要是在写,都不浪费。当你的代码行数积累的一定程度时,你会发现自己的编程能力已经和当年不是一个档次了

NO.4 进阶提升,学习多线程和选择方向

这个阶段的你,已经可以写项目了,但是对于底层可能了解的还不够。例如,同样的代码量,如何使得代码运行的效率更快更节省内存?这些需要不断的提升,需要学习多线程和多进程。我目前处于这个阶段,也处于学习状态,所以讲的可能不完全对,一起探索

学习编程需要持之以恒,对于初学者需要选个感兴趣的领域,选择一个方向,专注的深入学习,努力成为该领域的专家。当然,大神一般都是个个领域都神通广大,谁让我们是菜鸟呢,还是先选个方向踏踏实实的努力吧

1. Web开发方向

建议看简单的框架flask,推荐《Flask Web开发:基于Python的Web应用开发实战》

2. 数据分析方向

建议看《利用Python进行大数据分析》,主要讲Pandas库和数据分析。很多金融巨头,用Python进行数据分析。引用大神Kirat的话说,“它正在快速代替主流金融机构中使用的工具和语言,并成为事实上的标准”

3. 科学计算方向

建议看《python_sci用python进行科学计算》

4. AI的机器学习方向

建议看《Hands-on ML with Scikit-learn and TensorFlow》

5. AI的计算机视觉方向

建议看《Python计算机视觉编程》,我还在看,虽然看得不多

6. 网络爬虫方向

更多关于python安装教程的文章请参考《python各版本安装教程》

更多精彩书单,请点击python编程必备书单

领取干货:零基础入门学习python视频教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
Python 转义字符详细介绍
Mar 21 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
python实现自动发送报警监控邮件
Jun 21 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
Django静态资源部署404问题解决方案
May 11 Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 Python
用Python制作mini翻译器的实现示例
Aug 17 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 #Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
Apr 11 #Python
深入浅析python with语句简介
Apr 11 #Python
python实现微信自动回复功能
Apr 11 #Python
Python实现检测文件MD5值的方法示例
Apr 11 #Python
python 输出上个月的月末日期实例
Apr 11 #Python
Python简单计算文件MD5值的方法示例
Apr 11 #Python
You might like
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
PHP session有效期问题
2009/04/26 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
表单内同名元素的控制
2006/11/22 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
深入理解Python中字典的键的使用
2015/08/19 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Django中使用Json返回数据的实现方法
2020/06/03 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
你对IPv6了解程度
2016/02/09 面试题
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
酒店总经理助理职责
2014/02/12 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
2014教师研修学习体会
2014/07/08 职场文书
小学中队委竞选稿
2015/11/20 职场文书
python中如何对多变量连续赋值
2021/06/03 Python