天才教育网合作机构 > 北京电脑培训机构 > 北京数据库培训机构 >

天才领路者

欢迎您!
朋友圈

400-850-8622

全国统一学习专线 9:00-21:00

位置:北京电脑培训资讯 > 北京数据库培训资讯 > 总算领会python+经典入门系列

总算领会python+经典入门系列

日期:2019-08-25 09:25:28     浏览:104    来源:天才领路者
核心提示:算术最基本的操作符,是小学数学的+-*/,对于整数,还可以用+=,*=的操作符,对自身的值进行改变(对象引用)。以下是小编为你整理的python+经典入门系列 对于整数的加减乘除,但需要注意的是,整数相除的结果是小数 PS:在一些其他语言,

算术最基本的操作符,是*数学的+ - * / ,对于整数,还可以用+=,*=的操作符,对自身的值进行改变(对象引用)。以下是小编为你整理的python+经典入门系列  

对于整数的加减乘除,但需要注意的是,整数相除的结果是小数  

PS:在一些其他语言,比如c语言,java,两个整数相除,如果产生小数,直接把小数给忽略掉,而Python刚刚相反,比如1/3,在其他语言的结果是0,在Python则是0.333333333......  

如果需要把整数相除的商作为int类型整数结果,需要转化,int(小数值)  

PS:直接把小数忽略掉,不会进行四舍五入的运算  

列表的相加

python+经典入门系列

 

2个列表相加之后,元素进行合并  

需要注意的是,不能直接用运算符进行减法,乘法,除法运算  

str类型相加(连接符)  

数值相加的数学运算,字符串相加是连接  

比如:'abc'+'def',结果是'abcdef'  

需要注意的是,字符串只能用+号连接,不能用乘除减符号  

+=,-=,*=,/=  

需要注意的是,这种赋值不是改变原本的数据,而且进行运算之后产生一个新的数据,然后a重新指向新数据,原来的数据如果没有被任何标识符引用,那么会进入等待垃圾回收器清理  

另外,这类操作符的左边是一个集合的时候,右边也需要是集合  

有一个需要注意的是  

字符串集合与字符串相加  

比如,['abc']与'def'相加,不能用a = a + b,要用a += b  

解析:直接相加,相当于用列表与字符串相加,如果用+=,会默认把后面的字符串转成列表  

python的注释

注释是什么?  

我们写程序的时候,是否要标明程序的作用。例如函数、对象、方法的作用、源代码的作者等。  

也就是说python解释器不解释的部分,用来我们开发时可以一目了然的功能标明,就是注释。  

怎么注释呢?  

这里分单行注释和多行注释。  

什么是单行注释?  

也就是说单行注释,标识符为#  

什么是多行注释?  

多行注释一般用于作者、版本标明。标识符为3个'''或者"""  

当然你也可以用单行注释来实现多行注释。  

例如:  

#!/usr/bin/python  

# 这是一个python程序  

# 作者 binn louis zeng  

# 版本:1.0  

# 功能:1.xxxxxx  

# 2.xxxxx  

import sys  

......  

但是多行的情况是这样的:  

#!/usr/bin/python  

'''  

这是一个python程序  

作者 binn louis zeng  

版本:1.0  

功能:1.xxxxxx  

2.xxxxx  

'''  

import sys  

......  

或者把'''替换成"""  

跟着我做一遍你就完全能理解啦。  

首先touch test.py  

新建一个py文件。  

vim打开它。  

然后按a插入。  

输入以下代码:  

#!/usr/bin/python  

#print 'test'  

print 'test'  

先来看看我们的代码  

#!/usr/bin/python  

这个是声明解释器路径  

#print 'test'  

这个是注释,不起作用的注释  

print 'test'  

这是一个打印test这个字符串的操作。  

如果#注释生效的话,那么只会打印一个test对不对?  

也就是只执行print 'test'这一条语句  

我们:wq保存退出,然后python test.py看看结果?  

二进制的实用方法

0b是二进制,比如a = 0b1001100110100110  

注意:无论几进制,打印出来的都是十进制  

0o表示八进制  

注意:前面是数字0,后面是小写字母x  

0x表示十六进制  

注意:前面的是数字0,后面的是小写字母x,数值用大写字母,A~E  

/与//

 

a/b,带小数的结果  

a//b,忽略小数的结果  

注意:带不带小数,它的结果都是小数  

%取模(余数)  

比如,10/3,正常结果的3.333333  

如果需要*算术那样,10/3,求余数  

可以用10 % 3  

divmod(x,y)  

如果需要同时求商与余数,可以用这个函数,这个函数是返回一个元组的  

abs(x)  

获取某个数的*,这个计算比较常用  

 

Scheduler

Scheduler负责启动爬虫器,调用TaskMaster初始化TaskQueue,同时创建一个monitor线程,负责控制程序的退出。何时退出?

当TaskQueue为空,并且Workers中的所有线程都处于空闲状态。而这种形势在指定10分钟内没有发生任何变化。就认为所有网页已经全部爬完。程序退出。  

Task Master

任务管理器,负责管理任务队列。任务管理器抽象了任务队列的实现。

l在简单应用中,我们可以使用内存的任务管理器

在分布式平台,有多个爬虫机器的情况下我们需要集中的任务队列

在现阶段,我们用SQLLite作为任务队列的实现。可供替代的还有Redis。  

任务管理器的处理流程:

任务管理器初始化任务队列,任务队列的初始化根据不同的配置可能不同。增量式的情况下,根据指定的URL List初始化。而全文爬取的情况下只预先初始化某个或几个电子商务网站的首页。

如果本页不是您要找的课程,您也可以百度查找一下: