1、使用python的生成器,一小段一小段数据读取
生成器:具有yield的函数就是生成器,是一个可以返回迭代器的函数
迭代器:知道遍历位置的对象,有iter()和next()方法
2、Linux的split命令
可以把文件拆成一个个小文件进行操作
作用:split将一个文件分割成一个个指定大小的文件
使用语法: split [–help][–version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
常用的选项是-b按照字节切割,-l按照行数切割
read 读取整个文件
readline 读取下一行
readlines 读取整个文件到一个迭代器以供我们遍历(读取到一个list中,以供使用,比较方便)
实例属性:是从属于实例对象的属性,也称为“实例变量”。他的使用有如下几个要点:
1. 实例属性一般在__init__()方法中通过如下代码定义: self.实例属性名 = 初始值
2. 在本类的其他实例方法中,也是通过self进行访问:self.实例属性名
3. 创建实例对象后,通过实例对象访问:
obj01 = 类名() #创建对象,调用__init__()初始化属性
obj01.实例属性名 = 值 #可以给已有属性赋值,也可以新加属性
实例方法:是从属于实例对象的方法。实例方法的定义格式如下:def 方法名(self [, 形参列表]):
函数体
方法的调用格式如下:
对象.方法名([实参列表])
要点:
1. 定义实例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象。
2. 调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
类属性:是从属于“类对象”的属性,也称为“类变量”。由于,类属性从属于类对象,可以被所有实例对象共享。
类属性的定义方式:
class 类名:
类变量名= 初始值
在类中或者类的外面,我们可以通过:“类名.类变量名”来读写。
类方法:是从属于“类对象”的方法。类方法通过装饰器@classmethod来定义,格式如下:
@classmethod
def 类方法名(cls [,形参列表]) :
函数体
要点如下:
1. @classmethod必须位于方法上面一行
2. 第一个cls必须有;cls指的就是“类对象”本身;
3. 调用类方法格式:“类名.类方法名(参数列表)”。 参数列表中,不需要也不能给cls传值。
4. 类方法中访问实例属性和实例方法会导致错误
5. 子类继承父类方法时,传入cls是子类对象,而非父类对象
Python中允许定义与“类对象”无关的方法,称为“静态方法”。
“静态方法”和在模块中定义普通函数没有区别,只不过“静态方法”放到了“类的名字空间里面”,需要通过“类调用”。
静态方法:通过装饰器@staticmethod来定义,格式如下:@staticmethod
def 静态方法名([形参列表]) :
函数体
要点如下:
1. @staticmethod必须位于方法上面一行
2. 调用静态方法格式:“类名.静态方法名(参数列表)”。
3. 静态方法中访问实例属性和实例方法会导致错误