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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告