扣丁学堂教你零基础如何学习Python

2018-01-22 14:34:33 474浏览

在很多人看来,程序员就像魔法师,其实学编程就是一个打怪升级的过程,这个过程一定是曲折的,但前途是光明的,痛并快乐着。一个脚本轻松抢几十盒月饼(虽然最后被开除),一个插件解决春运抢票难题,几十行代码搭建一个Web网站,用微信自动和妹纸聊天,在程序员眼里这些事太稀松平常了,他们只不过是利用编程语言指挥计算机去自动完成一些需要人类重复操作的繁琐过程,等你会编程也就不觉得大惊小怪了。



有些人学习编程刚一开始头脑发热,买了很多书,下载很多视频,收藏上100G的资料,没过几天,热情就褪去了,最后完成了从入门到放弃的全过程,究其原因主要是缺乏清晰的目标,没有方向,或者方向不明确。如果你真正想把编程学好,那么先想想为什么要学编程,找一份编程工作,还是为了解决某个繁琐问题,抑或是做个网站给自己用,还是写个App,或者是爬个数据做分析,最怕的就是不知道为什么而学,就算是为了摆脱焦虑而学习你也很难学好,很多人跑过来问我入门书看完了,接下来看什么书?这就是典型的不知道学了有什么样,纯粹为了学习而学习。

我们的目的是学以致用,用以促学

以学习爬虫为例子,你学爬虫的动机什么?你的动机可以是从网上获取一些数据做数据分析,例如,前段时间有位朋友找到我说,他想开一个厂房租赁公司,开之前需要选址,选址就要做市场调查,如果仅凭直觉没有数据支撑,很难说哪个地方好,最好的办法使用爬虫去58这样的平台把相关的交易数据爬下来做数据分析,这就是一个很好的动机,而且目标非常明确。

Python编程有很多方向,有网络爬虫、数据分析、Web开发、测试开发、运维开发、机器学习、人工智能、量化交易等等,各个方向都有特定的技能要求,比如学数据分析就要重点掌握统计学、SQL等知识,搞运维就要非常熟悉Linux系统,所以你首先要清楚你选择的是什么方向,这个方向有哪些知识是需要重要掌握的。

以Web开发,重点要理解HTTP协议,要知道一个网页从浏览器输入URL开始到页面呈现出内容的这个过程发生了什么,然后要知道Web开发涉及的前端知识HTML、Java、CSS都是做什么用的,然后就是学Python,掌握基本的语法,常用数据类型、常用模块,就差不多可以去实现你的目标了,几乎所有网站都需要用到数据库,那么你至少需要懂一点数据库的知识,SQL的增删改查操作要会,程序写完了,我们要部署,而系统一般都是运行在Linux环境,这个时候你还需要了解如何操作Linux命令。

接下来详细介绍每个过程如何学习,以及所用到的学习资源和掌握的程度。

HTTP协议是浏览器与服务器通讯的媒介,用户在浏览器输入URL后浏览器会立即向服务器发起一个请求,服务端接收请求后,从数据库查询到合适的数据,最终把数据返回给浏览器。浏览器与服务器之间的通讯严格遵守HTTP协议,如果你弄懂了HTTP协议,那么也就弄懂了Web编程的基本原理,这里推荐两本关于HTTP的书。

《图解HTTP》

《HTTP权威指南》

前者偏向于入门,后者适合进阶阅读,前期不一定要细读,大概理解就行,以后你还会回过头来学习的。

不管再忙都要坚持每天保持3个小时以上的练习时间

任何一个做Web开发的,离不开前端三剑客,这里的三剑客是指HTML、Java、CSS。HTML是骨架,CSS是外衣,JS控制前两者,为了满足更多用户交互行为需要Java来控制。下面推荐的这几本书对一个初入门的小白来说完全够用,挑选一两本就行,也不需要你全部看完,一本书看完前面的60%差不多就行了。

《HTML5秘籍(第2版)》

《HTML5权威指南》

《HeadFirstHTML与CSS(第2版)》

《CSS权威指南(第3版)》

《JavaDOM编程艺术(第2版)》

《Java高级程序设计(第3版)》

不管再忙都要坚持每天保持3个小时以上的练习时间

了解了基本的前端知识后,还是有必要了解一下前端的框架,如vue.js、boostrap、react、jquery等等,虽然不一定每个框架都去学一遍,但至少要知道每个框架的作用,因为以后你不可能什么都是自己重复造轮子。

学完前端知识后,你现在应该能简单的做出一些静态页面了,不过,现在几乎所有的网站都是动态的(不是动画效果,而是页面数据是动态变化的),就是说数据都是根据登录用户个性化推荐的,浏览器的请求发送给服务器,服务器从数据库查询获得数据返回给浏览器,服务器这边的实现逻辑就需要用Python来实现,现在正是开始学Python的时候,Python入门需要掌握的内容包括基本语法、数据结构、常用数据类型和常用的模块的api方法操作等。关于Python的书其实很多,这里推荐几本入门和进阶。

入门

《Python简明教程》可以在公众号「python之禅」回复“python”免费获取电子书

《Python编程:入门到实践》

《Python编程快速上手:让繁琐工作自动化》

进阶

《流畅的Python》

《PythonCookbook》

《EffectivePython》

简明教程就是一本很薄的小册子,希望你可以认真读完,后面两本入门书,至少要把前面的基础学完,至于后面的实战,不学也罢,因为你的兴趣点不一定在那里。

不管再忙都要坚持每天保持3个小时以上的练习时间

现在差不多可以用Python来做很多事情了,但是你还不知道如何写一个Web应用,因为你可能不知道怎么操作数据库,怎么写SQL语句,对数据库进行增删查改,所以,别急,先学学数据库知识吧,MySQL是最流行的数据库系统,大公司都在用。对数据库最基本的了解就是要知道什么表、行、列、主键、外键、索引这些概念,稍微复杂的就是查询,有分组查询,联合查询等各种条件查询,你需要掌握这些基本操作。

《SQL基础教程》

《MySQL必知必会》

这两本数都是面向初学者的基础教程,挑选一本就够了,除了MySQL,还有PostgreSQL、Oralce、SQLServer都属于关系型数据库,另外也有MongoDB、Redis这样的非关系型数据库,你可以相应的都去了解一下,不一定非要马上就学。学完数据库之后,你要想的一个问题就是如何用Python操作数据库的CRUD,虽然没有专门的书籍讲这个,但是网上有很多教程写如何用Python操作MySQL的,所以,学会使用搜索引擎非常重要,因为以后很多时候都是面向Google编程。为了防止忘记前面的内容,也要不时地复习、练习前面的内容。

不管再忙都要坚持每天保持3个小时以上的练习时间。

现在你差不多所有的基础知识都有所掌握,终于可以磨刀霍霍迫不及待开始第一个真正属于你自己作品的开发之旅了,因为前面你已经掌握了HTTP协议,所以现在你可以选择一个Web框架,基于这个框架来开发我们的Web网站,这里推荐使用Flask,这个框架比较流行,然后又是一个比较轻量级的框架,非常灵活。学Flask看狗书《FlaskWeb开发:基于Python的Web应用开发实战》。一个完整的Web网站从前端HTML、CSS、Java再到后端Flask,数据库连接、CRUD操作基本都能跑通了,项目差不多基本成型,只剩下最后一个步骤,就是如何把做好的程序发布到服务器让它一直稳定运行,持续提供服务。

通常,我们的Web程序会部署在Linux服务器,很少有用Windows作服务器的,所以,熟悉Linux系统还是非常有必要的,Linux要掌握到什么程度呢?当然,至少要会基本命令操作才行,推荐下面这几本书

《快乐的Linux命令行》,公众号「Python之禅」回复“linux”可免费获取。

《鸟哥的Linux私房菜》

《Linux命令行与shell脚本编程大全》

熟悉完Linux,程序也部署好了,其实还差一步,网站需要一个好记的域名方便别人访问,毕竟没人能记住你的IP,所以,后期的域名购买,HTTPS配置,Nginx配置,都可以在网上找到相应的答案。

不管再忙都要坚持每天保持3个小时以上的练习时间。我们扣丁学堂不仅有资深的老师,还有配套的学习视频以及学习资料来提供帮助我们学习,有老师手把手的帮我们解决问题,在观看了我们扣丁Python视频教程之后,还有兴趣想要了解更多的内容,就加我们的Python学习交流群吧!扣丁学堂Python学习交流群:279521237。

关注微信公众号获取更多的学习资料



查看更多关于"Python开发资讯"的相关文章>>

标签: Python培训 Python视频教程 Python开发工程师

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号