龙空技术网

如何开始学习 Python?

追日者的EMP 76

前言:

现在各位老铁们对“python学习时间”大约比较关切,兄弟们都需要了解一些“python学习时间”的相关知识。那么小编同时在网络上收集了一些对于“python学习时间””的相关资讯,希望小伙伴们能喜欢,大家快快来了解一下吧!

前言

最近Python这门编程语言可以说是火爆全网了,无论是抖音、快手、微信甚至是门户网站的广告上都是关于培训Python就业的信息。好像全网都想让你学Python开发一样!

在这里我不谈究竟要不要学python,我只根据我的经历给出一些学习的建议!

我记得我是高三才刚开始接触Python,在此之前也只是熟悉C/C++。经过一段时间自学Python,学好后去接单爬数据,一单也能挣到几百。

之后接单过程渐渐,遇到了各种手工,重复性的项目,例如操作excel、操作网页去录相关系统信息等,因为不懂数据分析,无奈只能自学,因为有着python爬虫的经验在,经过了一些时间学习后,发现上手比较快,将其利用在了自己的工作中,减轻了不少所谓程序猿的体能劳动力,实现了不少自动化的小工具。

今天就和伙伴们聊聊怎么学Python吧!

如何 0 基础自学 Python ?

在计算机科学领域里,涉及到的知识点非常多,其学科本身就是一个非常庞大的体系。而对于没有接触过编程的同学来说,经常会找不到学习的方向,或者说,不懂得如何进行高效的系统性学习。

生在互联网时代的我们非常幸福,因为现在网上已经有许多优秀的前辈们为后来者奠定了好的基础,通过自身不断地坚持,高自律性,完全可以踏入编程世界。

学习本身是有相通性的,就像笔者上面说到的因为有着C++的基础,所以在学 Python 并不费力,编程语言之间的知识许多都是相通的!那么身为 0 基础的你,应该如何自学呢?

首先,来谈谈自学时应有的两个精神品质:坚持与自律。

不知道大家有没有听说过一句话:“在牛逼的梦想,也扛不住煞笔一样的坚持!” 虽然看上去很毒鸡汤,但确实是真谛。给大家讲个真实的故事,就是我自己。

还记得当时因为初中好玩,中考后去了一所“职教”学习,就算如此看待学习这件事我依然是随缘的心态。幸亏老天保佑,参加春季高考上了一所重庆的民办二本院校,开始了“计算机系”中的疯玩计划。

大学四年时间,前两年爽爽的玩。大部分时间就是在玩游戏。后来在学校组织的一次专业实习活动中,意识到不能在这么浑浑噩噩下去了,碰巧是那次实习,开启了人生的编程之路。

首先我做的第一件事就是明确目标,希望找一个 C++ 方向的工作。在大二下学期的暑假里,以这个目标为主,每天早上 6:30 起床,7:00 开始 0 基础的自学编程之路,抛去吃饭上厕所的时间,一直学到下午 13:00 左右。后面的三个月,保持每天如此的高度自律性,从当初 略有基础 才算是入了门。正是这份自律性,确实帮我找到了工作。

大学中第二件事,便是四级英语考试了。计算机系学生的优势就是大一就可以考英语四级。当时哪里顾得上英语?后来听别人说,找工作四级很重要,有的地方需要四级证明。(对于计算机系找工作,真的没那么重要,有些国企可能会要) 于是这一考就是两年,每个学期一次,我坚持了一年半,每年2次考试的机会,一直就没考过,其中最惨的一次是考了 424 分(425分给证)。最后在不懈的坚持下,终于在大学第4次考试考过了四级。。。都是辛酸史。。。

上面举了我自己的两个例子,无非想说的就是在学习的道路上,坚持与自律是必不可少的精神,学习 Python 也是一样的!

而在学习 Python 中,除了以上说到的两种必备精神外,还有些软技能是可以提高学习效率的,下面结合自己学习经验分享下。

1. 明确学习目标,了解学习语言的发展背景

学习要有目的性,盲目的学习只能说是浪费精力与时间。

许多初学者在选定编程语言后,会在网上收集一堆网课或是书籍资料,一存就是几个GB的百度网盘,反正越多越好,越多心里就会有一种越踏实的错觉感。但是你会慢慢的发现,存了这么多视频,根本没有那么多时间全部看完,大部分的视频仅仅是占坑罢了!

也有一些同学自律性比较高,挑出某些系列视频网课,看个前几章,然后看着看着,就坚持不下去了,学到的只是视频前奏的皮毛知识点,自己动手编程的时候,还是一脸懵逼,最终放弃了编程。就像上面提到的观点一样,盲目学习只会浪费自己的精力与时间。

笔者当初为什么选择了重拾学习 Python ?因为目的性很强,工作中遇到了烦人的琐碎重复工作,想对其自动化。此时需要选择一门编程语言,百度查调研了下,很多人推荐 Python ,其自身具有简洁的语法,适合开发小工具。所以抱着这个目的,笔者首先做的事是去了解了 Python 的发展背景。

就像负责的网课老师在开头正式讲课之前,会讲语言的发展历史。创始人是谁?名字的由来?迄今为止有多少年的存活历史了?对应的社区活跃度高不高?到现在最新的版本是多少?涉及的领域有哪些?(说白了就是,能用它干什么事情?)

曾经在小课堂开篇就写过,Python 到底可以来干什么?

这些问题应是在学习一门编程语言前调研清楚的,古语云:“知己知彼,才能百战百胜” 都是一个道理。拿 Python 的版本来说,假设你没有调研,你知道要学习它的 Python2 还是 Python3 吗?网上的视频资料都是有时效性的,依然一些视频采用的还是 Python2 讲解。Python2 系列在去年官方就已经放出,将在 2020 年停止维护的通知,既然这样,那学习 Python2 还有必要吗?肯定是强烈推荐学习 Python3 了呀,就不要浪费精力和时间在一个即将停止维护的版本上了。

2. 记笔记,画思维导图,查文档

记笔记是一门学文,试问在高中上学时候,为什么我们需要记笔记呢?就是因为知识量很大,不得不用笔记下来,等到用到的时候便于回顾。现在科学已经很进步了,笔记就不要采用传统的方式进行记录了,在学习的过程中,可以使用有道云笔记这样的工具来高效率记录。一边学习,一边整理输出自己的学习笔记。这样的过程就像计算机处理程序一样,输入 -> 思考 -> 输出。

如果有精力,可以下载一个 xmind 这样的工具,画出一个知识点的思维导图。看过笔者之前文章的,想必看到过思维导图的出现。思维导图与文字笔记最大的差别,就是架构分层性。

一份好的思维导图可以很醒目的将知识点分层展现出来,如正则表达式的文章中:

关于文档查看这项必备技能,写 Python 程序中必不可少。大部分时间都是在调用人家写好的方法或者函数。如何有效的,准确的了解你想要的参数,以及参数内容是什么?必须要学会查询文档去得到自己想要的,推荐官方文档,比较权威且具有时效性。后面会把个人认为权威的文档整理写出来。

3. 多动手,巩固基础

要明白一个道理“实践出真理”,往往许多初学者最大的问题就是:我看懂了,不用跟着敲肯定也没问题!

如果你抱有这种心理,请务必注意,多动手!即使你感觉你会了,相信我,那只是艾宾浩斯记忆曲线在作怪。

一个人刚学习时,信息输入大脑后,遗忘也就随之开始了。遗忘率随时间的流逝而先快后慢,特别是在刚刚识记的短时间里,遗忘最快,这就是著名的艾宾浩斯遗忘曲线。

刚开始学时,你会觉得百分之百会,你等过20分钟再试试,等过1个小时后试试!!!所以说,初学者一定要动手敲!只有敲才是王道!敲代码的过程中,伴随着大脑回顾的记忆与思考,有时即使照着敲,也是会发生错误的,此时正是反思的好机会!切记!!!

当你对着源代码敲了一遍,意识到了自己打一遍错误百出,这一出错,纠正之后,肯定收获也不小!所以动手非常重要!

当你真正动手敲代码的时候,也许会觉得很浪费时间,但实际上这种学习方法大大提高了摄入知识的效率,以时间换空间的做法,何乐而不为呢?

4. 遇到问题时,合理的利用搜索引擎

在之前的文章中写过一篇,如何高效的利用搜索引擎。不妨去看看其中介绍的搜索引擎,你在初学过程中遇到的问题,肯定有不少前辈们早已经遇到过了。遇到问题时,首先想到的就是通过搜索引擎去解决,如果自己尽力了还是没有解决,再去请教别人。比如提问的网站,知乎、慕课网、CSDN等。。。

学习资源推荐

上面都是一些软技能的干货分享,希望可以帮到正在入门学习 Python 的小伙伴们,下面是整理好的一些资料分享。

1. Python 零基础类相关

入门最快的方法个人认为是看系统性的视频,书籍是为了后续深入而进阶用到的,所以笔者不会上来就推荐书籍。(当然你可以反驳,毕竟每个人不一样,有人看视频学习快,有人看书快)

IT相关良心网站,慕课网:

Ø 初识Python (廖雪峰老师主讲):

Python入门_Python入门教程_python入门视频教程-慕课网

Ø Python进阶 (廖雪峰老师主讲):

python进阶_python进阶教程_python进阶视频教程-慕课网

Ø Python3学习文档 (廖雪峰老师个人站):

廖雪峰的官方网站​

入门并不需要太多其余视频了,看视频时可以结合廖雪峰老师的个人网站去看文章。慕课网上每过一章节都有课后的小练习,强烈推荐新手朋友们动手实践,软技能中说到的,实践出真理!

不难发现,笔者推荐的都是一个讲师的系列教程。因为自学入门时,一定要有系统性,以及对讲师思维的跟随性。如果今天看这个老师的基础视频,明天又看那个老师的基础视频,最后很容易打磨掉自己的耐心,原地踏步,每个老师讲课的思路都是不一样的。认准一个官方公认即可。

2. Python 爬虫方向

Python 爬虫入门推荐:

一旦度过了初学者的门槛,接下来就是要做小项目去进行练手。首选的就是 Python 爬虫方向的知识。不少人学习 Python 都是奔着爬虫去的,其实不仅仅 Python 可以写爬虫,其它语言也都是可以写的,编程重要的是思维。

学习爬虫方向,你需要了解爬取网站的原理,因为爬虫就是通过程序去采集网页上你想要的信息,所以从网页说起吧。通俗的举例,你可以将网页想象成一张大画布,如果要在这个画布上作画,一般都是先有骨架,在对其进行细节修改,填充色彩之类的。

骨架对应的就是 HTML 相关的知识,细节、色彩则是 Js、css等。我们学爬虫关注的是最终显示的信息,故 css 可以不必了解。同时现在多数网页数据通过 JSON 来进行“画布”的动态填充。

HTML是用来描述网页的一种语言。

JSON是一种轻量级的数据交换格式。

CSS决定了网页的样式。

JS决定了网页与用户的互动,是一门语言。

所以学习爬虫之前,关于网页信息相关需要了解的是:

Ø HTML教程式文档:

HTML 教程​

Ø 菜鸟文档式 JSON:

JSON 简介 | 菜鸟教程​

关于 JSON ,可以回顾这篇文章 python小课堂25 - 你真的了解JSON嘛?

了解网页的基础架构后,你还需要了解一点点 http 协议的小知识。详见:

Ø 关于 HTTP 协议,一篇就够了:

关于HTTP协议,一篇就够了 - ranyonsue - 博客园​

开题就说过,计算机学科是一门庞大的体系,要了解的知识非常多,在了解以上知识点后,接下来终于可以用我们的 Python 进行爬虫小项目开始了,此时推荐的是中国慕课大学的公开课,从中你会学到requests库、beautifulsoup库、re库的使用,需要注意的是第四周的课程可以不看,讲的是 scrapy 爬虫框架的使用,入门不需要看此门课程,后续有需要可以回来看。相关资料如下:

Ø 北理工的嵩天老师 Python 爬虫课程:

Python网络爬虫与信息提取_中国大学MOOC(慕课)​

Ø requests库中文官方文档:

Requests: 让 HTTP 服务人类​

docs.python-requests.org/zh_CN/latest/

Ø BeautifulSoup库中文官方文档:

Beautiful Soup 4.2.0 文档​

如果你能静心的学到这里并且达到掌握的地步,恭喜你,对于 Python 这门语言来说,已经算是一个合格的入门级 Pythoner 了。

Python 爬虫进阶推荐:

完成以上说的仅仅是在爬虫路上的初次冒险,随着早期知乎以及各大论坛被爬,发展到现在各大网站已经有了良好的反爬(防止爬虫爬取信息,简称反爬)机制。此时到了一个进阶阶段,你需要了解一些反爬机制,从而实现反反爬。

到此境界,首要学习应该从视频转向了,以书籍为主,辅以视频。结合笔者看过的爬虫系列,这里推荐的是崔庆才的《Python3网络爬虫开发实战》。崔大师算是爬虫届的过来人了,感兴趣的可以了解下,非常年轻的一个博主,很厉害。早期写爬虫博客,后续整理成了这本书籍,资源如下:

Ø 《Python3网络爬虫开发实战》pdf云资源。

提取码:1028

Ø 崔庆才相关爬虫教程视频(不放链接了,可以直接在B站搜索)

在这个学习过程中,你会学习到各种爬虫框架,以及反反爬的手法。爬虫是有时效性的,所以部分案例完全有可能出现失败的情况。

3. Python 后台web方向

笔者早期就是做 Java web 方向开发的,开始觉得没有必要学习相关知识,但是由于前一阵有些想法,想结合微信小程序做一些好玩的事情,选择 Java 进行开发太笨重了,所以现在也在学习 Python web方向的知识,目前框架只学了 Flask 一个,因为非常轻巧,结合小程序开发起来上手应该非常快。

对web后端感兴趣的,资料如下:

Ø flask中文文档官网:

欢迎使用 Flask  Flask 0.10.1 文档

Ø flask sql数据库插件 SQLAlchemy 中文文档官网:

快速入门  Flask-SQLAlchemy 2.0 documentation

Ø flask orm自动生成model层对象,项目官方地址:

4. Python 日常好玩的练手小项目

实验楼相对慕课网而言,适合想找快速练手项目的一些人。上面充满着各种好玩的项目:

Ø 实验楼搜索 Python

的搜索结果 - 蓝桥云课

6. 推荐书籍

最经典的Python教程—— 《python编程从入门到实践》

7. 其他方向

在早期的开篇小课堂中提到过,Python 涉及的领域非常多,但是笔者结合自身而言,就涉及到上面的,所以其它领域不了解,也就不做推荐了。。。望谅解!

结语

本篇文章篇幅略长,笔者认为还是挺干货的,粗略的记录下用时,大概花了 8 小时(一上午 + 一下午)完成的一篇自学性资料文章,希望能帮到那些正在初学入门 Python 的朋友们!

标签: #python学习时间