Python `repr()` 方法的替代实现


在Python中,如果我们想限制大量数据的显示,可以使用 `reprlib` 模块。

要使用此模块,我们应该使用以下语句导入它:

import reprlib

`reprlib` 模块包含不同的类和方法,它们是:

类 `reprlib.Repr`

Repr 类提供格式化服务。它创建类似于内置 `repr()` 函数的功能。在这个类中,我们可以添加大小限制和不同的对象类型。

方法 `reprlib.repr(object)`

此方法用于返回类似于内置 `repr()` 方法的字符串,但在这种情况下,大多数大小都有限制。

Repr 对象

Repr 对象提供多个属性,可用于为不同数据类型提供大小限制。

**`repr.maxlevel`** 表示递归表示的深度限制。默认值为 6。字典、列表、元组、集合等还有一些其他的最大限制。

序号 方法/变量及描述
1

`Repr.maxlong`

表示长整型值的最大数字。默认为 40。

2

`Repr.maxstring`

限制字符串类型对象的字符数。默认为 30。

3

`Repr.maxother`

限制某些其他数据的尺寸,这些数据没有指定格式。

4

`Repr.repr(obj)`

与内置 `repr()` 方法相同。

5

`Repr.repr1(obj, level)`

`repr()` 的递归实现。还为递归输出指定级别。

示例代码

import reprlib
import math
fact_list = [math.factorial(x) for x in range(50)]
print(reprlib.repr(fact_list))
myRept = reprlib.Repr() #Create Repr object and set long size to 10
myRept.maxlong = 10
print(myRept.repr(fact_list[23]))

输出

[1, 1, 2, 6, 24, 120, ...]
258...0000

更新于:2019年7月30日

350 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告