Day021 补充

mac2025-08-15  11

一、4G内存怎么读取5G数据(python中的生成器、Linux的split命令)

1、使用python的生成器,一小段一小段数据读取

生成器:具有yield的函数就是生成器,是一个可以返回迭代器的函数

迭代器:知道遍历位置的对象,有iter()和next()方法

2、Linux的split命令

可以把文件拆成一个个小文件进行操作

作用:split将一个文件分割成一个个指定大小的文件

使用语法: split [–help][–version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

常用的选项是-b按照字节切割,-l按照行数切割


二、Python 中read 、 readline 、 readlines 的区别

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. 静态方法中访问实例属性和实例方法会导致错误

最新回复(0)