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