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"
>>> world
print `1` + " world"
>>> world
print, "world"
>>> world
print nfc,
>>> ['Packers', '49ers']
数字技巧
#除后向下取整
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 >:
print x
>>> 2
if < 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
操纵文本文件命令:sed、awk、grep
这三个强大命令被称为Linux界的三剑客。sed和awk这二个也必须要掌握,工作当中使用的也是最多的。grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行并打印出来。sed是一个精简的、非交互式的编辑器,它能执行与编辑vi和emacs相同的编辑任务,但sed编辑器不提供交互使用方式,只能在命令行下输入编辑命令。awk是一种程序语言,对文档资料的处理具有很强的功能,awk擅长从格式化报文或从一个大的文本文件中抽取数据。同时需要掌握正则表达式,配合sed和awk当中使用功能会更强大,在处理文本文字和过滤web时十分的有用。
之前在Linux上面使用最多的数据库是MYSQL,悲催是的MYSQL数据库管理系统被Oracle公司收购后从开源走向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB。无论使用那种数据库,你都得需要掌握数据的创建、删除、添加、查询、备份和恢复,这些基础的命令。
在红帽RHEL7系统中Firewalld服务取代了Iptables服务,在老的服务器版本上面Iptables依然存在,也都需要学会使用该防火墙。真是不学不行,防火墙是个难点,各种规则,你一定会头晕。为了保证Linux系统的安全运行,防火墙必须走过的砍,具体的介绍可以看下《Linux就该这么学》书籍的第八章。