reprlib模块 提供了对表示对象的字符串大小的限制。它提供的功能是内建函数repr()的加强吧。
reprlib模块包含了一个类、一实例对象、一方法。
1. class reprlib.Repr
Repr类,提供了一个类似内建方法repr()的方法实现
2.reprlib.aRepr
Repr类的实例
3.reprlib.repr(obj)
实例aRepr的实例方法。功能类似内建方法repr(),不过可以对返回的字符串大小进行限制。
4.@reprlib.recursive_repr(fillvalue="...") 装饰器,用于__repr__()方法上
Repr.maxlevel --- 递归表示的深度限制,默认是6
Repr.maxdict
Repr.maxlist
Repr.maxtuple
Repr.maxset
Repr.maxfrozenset
Repr.maxdeque
Repr.maxstring ---- 表示一个字符串最大字符数,默认30
Repr.repr(obj)
Repr.repr1(obj,level)
Repr.repr_TYPE(obj,level)
reprlib模块包含了一个类、一实例对象、一方法。
1. class reprlib.Repr
Repr类,提供了一个类似内建方法repr()的方法实现
2.reprlib.aRepr
Repr类的实例
3.reprlib.repr(obj)
实例aRepr的实例方法。功能类似内建方法repr(),不过可以对返回的字符串大小进行限制。
4.@reprlib.recursive_repr(fillvalue="...") 装饰器,用于__repr__()方法上
>>> class MyList(list):
... @recursive_repr()
... def __repr__(self):
... return '<' + '|'.join(map(repr, self)) + '>'
...
>>> m = MyList('abc')
>>> m.append(m)
>>> m.append('x')
>>> print(m)
<'a'|'b'|'c'|...|'x'>
Repr 对象具有的属性
Repr.maxlevel --- 递归表示的深度限制,默认是6
Repr.maxdict
Repr.maxlist
Repr.maxtuple
Repr.maxset
Repr.maxfrozenset
Repr.maxdeque
Repr.maxarray ----命名对象类型的条目数限制,maxdict是4,maxarray是5,其它是6
Repr.maxlong ---- 表示一个整数最大字符数,默认40Repr.maxstring ---- 表示一个字符串最大字符数,默认30
Repr.maxother ---- 表示其他类型的最大字符数,默认20
import reprlib
a = [1,2,3,[4,5],6,7]
reprlib.aRepr.maxlevel = 1
print(reprlib.repr(a))
结果是:[1,2,3,[...],6,7]
import reprlib
a = [1,2,3,[4,5],6,7]
reprlib.aRepr.maxlist = 2
print(reprlib.repr(a))
结果是:[1, 2, ...]
Repr.repr(obj)
Repr.repr1(obj,level)
Repr.repr_TYPE(obj,level)