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
广告