找了一堆Python教程自学,为何还是看不进去!

【Python学不进】这个系列我今天就再带着大家梳理一遍,虽然我之前也讲过这系列,因为…有人还是不会啊!

我想说的就两个点:

第一:学Python以实用性为导向

第二:理解和运用

学Python死记硬背作用不大的,从来没听过哪个程序员是靠背学会编程的,要理解代码是干什么用的,为什么要这么用?

比如 Python 的函数和控制语句,是真正去解决问题的过程。

如何实现判断和循坏?如何将固定的功能模块封装成函数?你能看懂它的概念和语法,但让自己开始写起代码,就无从下手。

再就是学了就要用起来,学以致用!

Python讲究实用性,等到理论学的差不多了再去实操这是最大的学习误区,学是学了,整活又整不来。

基础知识

想入门首先还是基础语法的学习,这是关键。

Python的基础语法包括两大部分,其一是函数式编程部分,其二是面向对象编程部分。

这个阶段的重点:

① 掌握Python基础语法, 具备基础的编程能力;

② 建立起编程思维以及面向对象程序设计思想;

基础语法

  • 计算机组成原理

  • Python开发环境

  • Python变量

  • 流程控制语句

  • 高级变量类型

  • 函数应用

  • 文件操作

  • 面向对象编程

  • 异常处理

  • 模块和包

基础模块1

基本规则、Python语言特点、计算机语言、如何运行Python、变量赋值五个方面,掌握Python编程的基底知识。

基础模块2

模块结构、布局、IO编程流程、标识符、Python对象、内存管理、动态类型六大模块。

两张基础知识导图可以帮助你区域化了解Python的组成部分及基本操作;

高阶语法

学习完基础语法,写写算法题不成问题,但是对应更复杂的环境和需求需要学习一些高阶内容。

  • 网络编程

  • 并发编程

  • 数据库编

  • 正则表达式

  • Linux系统应用

  • 函数的高级应用

  • Python语法高阶

  • 此阶段的重点知识:

  • 熟练使用Linux操作系统;

  • 掌握网络编程相关技术, 能够实现网络间数据通信;

  • 掌握程序设计开发中多任务实现方式;

  • 熟练掌握MySQL操作相关技术, 熟练编写各种数据库操作SQL语句, 并能够进行Python与MySQL之间的数据交互;

  • 掌握Python中的re模块的使用, 能够实现对字符串进行复杂模式匹配;

  • 掌握Web服务器的工作流程, 以及Web框架的实现原理

总的来说,Python的基础语法部分通常还是比较容易掌握的,列表、函数、字符串、流控等内容比较好理解。

面向对象部分对初学者稍难一点,需要一点抽象思维。

想要入门一门语言,还有两个要素是无法回避的,一是学习资料,二是开发工具。

学习资料

学习资料如何选择?

市面上Python的书籍和网络教程一抓一大把,如果你是初学者,建议你务必选择适合0基础小白的课程,学习的痛苦大家都经历过。

还有就是不建议到处收集几个G的学习资源,你能看完那就当我没说。

学习书籍

入门书籍:

  • 《Python学习手册》

  • 《Head First Python》

  • 《Learn Python The Hard Way》

  • 《Python编程:入门到实践》

  • 《笨办法学Python》

  • 《简明Python教程》

进阶书籍:

  • 《Python Cookbook(第三版)》

  • 《流畅的Python》

  • 《Python源码剖析》

  • 《Python进阶》

  • 《Python核心编程》

  • 《Python性能分析与优化》

  • 《Python高级编程》

Web框架:

  • 《Django基础教程》

  • 《轻量级Django》

  • 《Python Web开发:测试驱动方法》

  • 《Web Development with Django Cookbook》

爬虫:

  • 《用Python写网络爬虫》

  • 《精通Python爬虫框架Scrapy》

  • 《Python网络数据采集》(Web Scraping with Python)

  • 《Python爬虫开发与项目实战》

数据分析:

  • 《利用Python进行数据分析》(Python for Data Analysis)

  • 《Python数据科学手册》(Python Data Science Handbook)

  • 《Python金融大数据分析》

  • 《Python数据处理》

重点不在与选择怎样的教材,而是我们要明白自己学习python出于什么目的,处于哪个阶段,再选择合适的书看,不要盲目去找书看。

开发工具

简单说几个,工具选择自己用得顺手的就行;

  • IDLE

Python安装自带工具,被很多人诟病,但我觉得它安装简单,反而很适合初学者。如果实在不喜欢,可以在学习一段时间后改选其他的工具。

  • pycharm

专业级神器,缺点是比较笨重,平时写小程序的话一般不用。

  • sublime text:轻量级神器

  • Anaconda

集成了大量数据分析相关库,安装方便,另外它的调试功能据说也比较强大。缺点是界面比较难看,代码补全功能也不完善。

  • Ipython

又称jupyter,Anaconda自带,我最近才开始使用,能够实时查看代码输出(这一点也很适 合初学者)

最后补充一点Python版本选择的问题,其实这个问题真的真的不用纠结,我还是建议选择Python3入手,毕竟Py3是大势所趋。

注重实战

我前面说了,不能盲目看书,看资料教程,要求实。

虽然那样的讲解很全面,但单纯的理论也很枯燥,让人越看越累,越累越不想看。

在这个阶段,一定要多动手实践,始终要相信我们实践是检验真理的唯一标准,查找和处理过程中遇到的错误和异常,遇到问题多上网搜索、找人求教。

虽然过程很难,在成功的解决了这些问题之后,会有一种很大的成就感,这样一个良性循环,才是你学习Python这类程序语言的最大动力。

实操网站

  • GitHub

非常实用的一个网站了,这里找项目训练资源非常不错,数量也很多,也是源码学习、版本控制不可缺少的网站。

  • python3简明教程

一个综合的教程,划分了很多不同类别的知识模块,比较偏重实战,作为入门也很不错。

提供了开箱即用的实验环境,免去了搭建环境的麻烦。

  • 开源中国

开源中国社区的项目合集,里面还有福利项目。

  • 廖雪峰的官方网站

廖雪峰老师的教程非常经典,可以当做Python的百科全书来参考。

觉得单练项目太枯燥无聊了?这里介绍几个有意思的在线编程练习网站,在玩儿中练习编程。

① python100天从新手到大师:非常适合新手练习的项目教程

② py.CheckiO编程挑战练习:游戏闯关模式

③ Codingbat:在线编程练习网站

④ The Python Challenge:项目挑战型编程网站

细化目标

当你决定入门 Python 时,需要一个清晰且短期内可实现的目标。

比如你想通过学习找一份初级程序员工作,目标明确后,你需要了解企业对初级程序员有哪些技能要求。

下面是我从某招聘网站找的一个初级 Python 工程师的任职要求:

1、熟悉 Python 及常用的 Web 开发框架;

2、至少熟悉一种数据库的使用,如MySQL、mongodb、redis等;

3、熟悉 Linux 操作系统及常用命令;

4、良好的编码习惯和文档编写习惯;

做 Python 开发除了熟悉语言本身之外,还需要掌握很多相关联的技能,好比打NBA,你不光要学如何投篮,还要练习力量、技战术等一整套东西。

所以一个普通 Python Web 开发工程师需要掌握的技能包括至少一个Web框架,比如:Django、Flask、Tornado,做业务系统离不开数据库的支撑。

另外,还需要对Linux系统的基本操作和常用命令有所了解,因为以后你写到程序基本上都会运行在Linux平台上。

想做Web开发的话,HTML、JS、CSS 是必须有所了解的,作为前端技能,不一定要深入了解,做到能写基本的HTML代码就够了。

此外,还需要了解 HTTP 协议(推荐《图解HTTP协议》);

目前比较主流的Web框架有 Django、Flask、Tornado,各自都有各自的特点,Django 文档丰富、Flask 短小精悍、Tornado 异步并发。

这里推荐使用 Flask,推荐书目《Flask Web开发:基于Python的Web应用开发实战》

Linux 推荐《快乐的 Linux 命令行》,同样是一本非常经典的入门迷你书,没有太多理论,范围也不太宽。

MySQL只推荐一本《MySQL必知必会》,不到250页的小册子,实践性很强,没有什么艰深晦涩的理论堆砌,看完这本书基本入门数据库了

进阶提升

个人python进阶的方法是学完基础知识后,就先从网络编程开始,从一个最简单的socket开始,先写写两台机器如何通讯,找找成就感。

然后接着学习socketserver模块和http.server模块,它们是一个封装一个,你读了这两个模块之后,就知道python面向对象的强大。

即使你现在写不了那么好的代码,但还是在进步。

尤其是http.server模块,你看完它的源码后开始朝着python的web服务器方向发展了,要知道python的web服务器代码,都是基于socket封装的,一行代码一行写出来的。

此时你的电脑就是一个简单的web服务器了,可以通过浏览器获得你电脑让的文件。

了解了这些,就可以着手写一个最简单的web服务器了,其实几行代码就搞定了,代码一次只能服务一台客户端,然后开始思考该怎么做让python实现并发。

在Python中有三种方式,进程、线程和协程,进程先不说,聊聊线程和协程。

这样说吧,线程和协程实现的功能差不多,但是协程占用的系统资源更少,它不需要CPU进行上下文的切换,所以最好的解决方案便是进程加协程。

这时候又开始进入了一个新的学习领域,开始了解协程,从最简单的yield关键字开始,接着了解python中的异步模块,然后到终极异步模块asyncio。

期间,可以使用异步写些小程序,比如写个聊天室,单线程下的并发,到了最后,你会发现学的异步和web服务器相结合,使其更加强大,

如果只是玩玩的话,完全可以将它搭在你的服务器上,提供一些简单的网页服务。如果还想继续发展的话,可以写个小型的web框架玩玩。

这时候就可以去了解爬虫了,毕竟服务端已经了解的差不多了。

先写服务端有一个好处,可以从无到有,锻炼自己写代码的水平,爬虫已经封装的很好了,如果从零开始写有点小麻烦。

还是那句话,慢慢学,如果感兴趣,也可以写个小型的框架来玩。

接着可以玩一些高级一点的,之前我所说的一些和python相关的编程,有个高中知识水平就可以搞了。

但是你想玩数据分析和机器学习那就需要大学的知识储备了,高数、线代、统计学、概率论等等数学知识。

这时候先结合你之前的爬虫知识搞搞简单的数据分析,然后在慢慢的一步步深入下去,那时你应该会有了自己明确的目标了。

想要做到这一点,过程可能不会有那么顺畅,坚持很重要。

学习提示

学习过程需要注意的:

  1. 多上手,代码量要上来

千万不要等到把所有知识点都学完了才开始练习,因为到那时你会发现,你只会理论不会动手。

学习编程,是十分讲究实战的,没有捷径可走,越早练习,练得越多越勤,学习效果就越好。

2)学习的时候要不要抄代码?

要抄代码,就像下笔如有神一样,边学边敲代码,然后再改代码,再自己写代码一步步进阶,不能只是抄代码而已。

  1. 良好的编码规范

学习编程语言,在追求快和高效的同时,每一种编程语言都有必要的编码规范,一定不能忽略,这真的很重要!

例如,在刚开始编写代码时,不要将原本多行的代码全部写到一行,也不要随便用 a、b、c 等字母作为变量的名称。

  1. 积累开发实战经验

要想真正熟练地掌握 Python(或者其它编程语言),拥有大中型产品的开发经验是必不可少的。

没有经验就造经验,github上有很多的开源项目可拿来实践。

例如,我们几乎每天都会用搜索引擎,但你了解一个搜索引擎的服务器端实现吗?

这是一个典型的面向对象设计,需要定义一系列相关的类和函数,还要从产品需求、代码复杂度、效率以及可读性等多个方面综合考量,同时在上线后还要进行各种优化等。

5)学习要有效率

如果自己都觉得效率非常低,那就停一停,找找原因或者适当放松一下。总之,每个人的学习方式不同导致学习结果不理想,就要不断地去调整方向。

6)自学编程本身就是一个比较枯燥的过程

如果没有正向反馈,学习的积极性很容易被打压下来,多积极参与到相关的技术圈子中去,尝试去解答力所能及的新手问题,向圈子中的大牛们寻求帮助。

以上就是“找了一堆Python教程自学,为何还是看不进去!”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值