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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 抓取美女写真图片并保存
  • 人脸识别-抓取颜值大于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入门学习指南的更多相关文章

  1. Python入门学习指南--内附学习框架

    https://blog.csdn.net/weixin_44558127/article/details/86527360

  2. Python入门学习:1.变量和简单的数据类型

    python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用   变量,顾名思义是一个可变的量, ...

  3. python入门学习:9.文件和异常

    python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件  首先创建一个pi_ ...

  4. python入门学习:8.类

    python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类   面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...

  5. python入门学习:7.函数

    python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数   使用关键字def ...

  6. python入门学习:6.用户输入和while循环

    python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...

  7. python入门学习:5.字典

    python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典   在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...

  8. python入门学习:4.if语句

    python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试   if语句基本格式如下,注意不要漏了冒号 1if 条件 :2     ...

  9. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

随机推荐

  1. 华为计算平台MDC810发布量产

    华为计算平台MDC810发布量产 塞力斯的发布会刚刚结束,会上塞力斯SF5自由远征版也确实让人眼前一亮. 全球首款4S级加速能力.1000+km续航新能源作为这款车的卖点. 续航1000+km成了最近 ...

  2. 摄像头ISP系统原理(上)

    摄像头ISP系统原理(上) ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号.它在相机系统中占有核心主导的地位,是构成相机的重要设备. 主 ...

  3. nvGraph-NVIDIA图形库

    nvGraph-NVIDIA图形库 数据分析是高性能计算的不断增长的应用.许多高级数据分析问题可以称为图形问题.反过来,当今许多常见的图形问题也可以称为稀疏线性代数.这是nvGraph的动机,它利用G ...

  4. 系统芯片(SOC)架构- Aviral Mittal

    系统芯片(SOC)架构- Aviral Mittal System on Chip Architecture-Aviral Mittal 此技术是在设计片上系统时考虑体系结构级别的因素.同样,范围是围 ...

  5. 腾讯云 K8S 集群实战 Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 应用

    Linkerd 是 Kubernetes 的服务网格. 它通过为您提供运行时调试(runtime debugging).可观察性(observability).可靠性(reliability)和安全性 ...

  6. 「题解」USACO15FEB Fencing the Herd G

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 P3122.USACO 官网. 题意概述 给你平面上的一些点和直线,有两种操作: 新加入一个点 \((x,y)\): ...

  7. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  8. C# 24点游戏求解算法

    经常跟儿子玩24点,有时候比较难算的,算一会儿,两人算不出来,就收了,当作没法算. 以我的数学能力,一般来说,算不出来的,大概率确实是算不出来的. 但是遇到比较变态的,当作算不出来是可能的,所以一直想 ...

  9. 使用Go module和GoLand初始化一个Go项目

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 Golang是一门优秀的语言,特别是在并发编程上,得益于它的协程和channel等,非常方便易用.它通过go m ...

  10. noip2009 总结

    潜伏者 原题 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则:1. S 国军方内部欲发送的 ...