Python作为一门新型的编程语言(一般常用作脚本语言)很受欢迎,毕竟相对其他的编程语言(Java ,C#等)来说比较容易入手。那么,在学习玩入门Python的时候,应该从哪方面入手,学习流程是怎样的呢?以下是小编为你整理的如何学习python系统
基础知识:学习每一种新的编程语言都是从最基本的开始,对于python而言也是需要先学习其基础知识。
python的基础知识包括:变量和数据类型,List和Tuple,条件判断和循环,Dict和Set, 函数,切片,迭代和列表生成式。
注意:学习基础知识切莫着急,一定要打好基础,这样才会更好的应用python。
进阶知识:学完掌握基础知识之后,就要学习进阶知识了。
python的进阶知识包括:函数式编程,模块,面向对象编程基础,类的继承和定制类。
python装饰器:装饰器是很重要的一个知识点。
关于装饰器需要涉及到函数作用域.闭包的使用和装饰器的概念及使用。
如何搭建环境
学习爬虫首先学习Python,建议通过**mooc和《笨方法学Python》来实现入门,那本书的内容可以有所取舍。通过这两个途径再上网上针对性地查找相关内容完全可以入门,重点在于理解“面向对象”。
爬虫入门首先要明白一些网络技术,了解TCP/IP参考模型,并且对应用层的HTTP协议的方法和工作原理有一定的认识。爬虫爬取网页内容,大多数网页服务由HTTP协议实现。
正式学习爬虫库urllib和正则表达式,urllib灵活性很高,并且和你所学的网络原理、HTTP原理非常贴合,利于新手学习,正则表达式看看内容,再看几个实例就应该会用了,不推荐看乱七八糟的教程和MOOC(效果非常差,讲的跨度太大),推荐书籍《精通Python网络爬虫 核心技术、框架与项目实战 》(韦玮)。同样是选择性的阅读。
学习完成之后,多加实践,推荐实战项目:1、爬取漫画网上的一部漫画的所有图片,并用PowerPoint做成PDF 2、爬取电影下载网站上的所有电影下载链接并整理到Excel。能独立完成这两个实战项目,恭喜你已经成功入门!
常见的函数应用
交换变量
x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6
if 语句在行内
print "Hello" if True else "World"
>>> Hello
连接
下面的*一种方式在绑定两个不同类型的对象时显得很cool。
nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
print nfc + afc
>>> ['Packers', '49ers', 'Ravens', 'Patriots']
print str(1) + " world"
>>> 1 world
print `1` + " world"
>>> 1 world
print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1
数字技巧
#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
注意浮点数的除法
print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0
数值比较
这是我见过诸多语言中很少有的如此棒的简便法
x = 2
if 3 > x > 1:
print x
>>> 2
if 1 < x > 0:
print x
>>> 2
5
同时迭代两个列表
nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots
Web方向的练手项目
这个其实是肯定不用多少的了。Python的练手项目就是可以做一个网站了。我们可以做一个属于自己的博客。在做博客的时候,我们可以巩固的知识点是
Html+CSS+JS的基础知识,以及熟练的运用Python的Web开发框架(例如Django或者Flask)做出一个属于自己的网站。
也就是我们常说的网络爬虫。可以找到一个自己喜欢的网站。试着抓取一些网站数据,在抓取数据的过程中,你会遇到例如 反抓取 需要登陆 验证码验证以及IP检测等多种问题。但这恰恰不就是提高的过程么。或许,你也可能写一个自己的“小百度”呢、
不要觉得太难。我们可以从一个简单的项目开启。验证码就是一个图片。我们是不是可以试着识别一下验证码上面的文字?不要觉得麻烦,也不要觉得太过简单。所有复杂的事情都是从简单开始的。学习验证码识别对于我们写网络爬虫是不是特别有用呢?在后期深入的过程中,你还可以做一个图像识别软件。
是不是觉得现在手机软件中的智能聊天软件很神奇。你同样可以做一个属于自己的聊天机器人。前期我们可以做一个应答式的,也就是所有的会话就是存储在数据库中。后期的话可以学习人工智能学习。让你的机器人更加智能。
使用Python你可以非常方便的实现一个网络服务器和浏览器的功能。通过网络编程项目的实践。对于网络应用以及网络协议的理解将会是一个非常宝贵的经验。
随着互联网的高速发展。深度学习 区块链等等高新技术词汇涌入我们的眼前。Python现在的主要方向也正是向着人工智能方向迈进。所以一些人工智能的算法以及人工智能框架的学习 也同样的是我们可以作为练手的项目。