python3 小结

python 是一种强类型的语言:每个变量都是一个引用 (无需关键字,不需要声明)

数据类型:   Numbers(数字)
                    int(有符号整型)
                    long(长整型)
                    float(浮点型)
                    complex(复数)
             String(字符串)   
             List(列表)   
           Tuple(元组)   

        Dictionary(字典)

判断数据类型的方法;type(变量)   isinstance(变量,类型)

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

Python的元组与列表类似,不同之处在于元组的元素不能修改。

字典是另一种可变容器模型,且可存储任意类型对象。

函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
语法:
def 函数名(参数列表):
 函数体

 return XXX

可以返回多个值,返回的多个值组成一个元组,返回值加上一对中括号,则返回一个列表

函数分为定义和调用

可更改(mutable)与不可更改(immutable)对象

全局变量(声明在函数外,如果在函数内使用则需要global)

局部变量(声明在函数内)可变类型的对象为全局变量时,不需要写global,但是不可变类型的对象在局部变量时,需要写global

三个重要的函数   filter(过滤满足条件的结果)    map(对数据进行运算)   reduce(对数据进行统计)

变量作用域

L (Local) 局部作用域

E (Enclosing) 闭包函数外的函数中

G (Global) 全局作用域

B (Built-in) 内建作用域 

L –> E –> G –>B 的规则

面向对象


类:具有相同的属性和方法的对象的集合

方法:类中定义的函数

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用

数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据

方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写

实例变量:定义在方法中的变量,只作用于当前实例的类

实例化:创建一个类的实例,类的具体对象

对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法

类对象支持两种操作:属性引用和实例化

对象:万物皆对象类和对象的关系

类的专有方法:

  • __init__ : 构造函数,在生成对象时调用
  • __del__ : 析构函数,释放对象时使用
  • __repr__ : 打印,转换
  • __setitem__ : 按照索引赋值
  • __getitem__: 按照索引获取值
  • __len__: 获得长度
  • __cmp__: 比较运算
  • __call__: 函数调用
  • __add__: 加运算
  • __sub__: 减运算
  • __mul__: 乘运算
  • __div__: 除运算
  • __mod__: 求余运算
  • __pow__: 乘方

异常

即便Python的程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常

抛出异常:raise唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是Exception的子类)

迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式

迭代器是一个可以记住遍历的位置的对象

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退

迭代器有两个基本的方法:iter() 和 next()

生成器

在 Python 中,使用了 yield 的函数被称为生成器(generator)

跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器

在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行

调用一个生成器函数,返回的是一个迭代器对象


XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言

python有三种方法解析XML,SAX,DOM,以及ElementTree

scrapy 

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。
Scrapy运行流程 


            1 引擎访问spider,询问需要处理的URL链接,spider收到请求,将需要处理的URL告诉引擎,然后将URL给引擎处理。
            2 引擎通知调度器,调度器得到通知将URL排序入队,并加以处理。
            3 引擎通知调度器,调度器将处理好的request返回给引擎
            4 引擎接收到request后告诉下载器,按照setting中配置的顺序下载这个request的请求
           5 下载器收到请求,将下载好后的东西返回给引擎。如果下载失败,下载器会通知引擎,引擎再通知调度器,调度器收到消息后会记录这个下载失败的request。
           6 引擎得到下载好的东西后,通知spider(这里responses默认是交给def parse()函数处理)
           7 Spider收到通知后,处理接收的数据
           8 Spider处理完数据后返回给引擎两个结果:一个是需要跟进的URL,另一个是获取到的item数据。


           9 引擎将接收到的item数据交给管道处理,将需要跟进的URL交给调度器处理。重复循环直到获取完需要的全部信息



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值