Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Triển khai repr() thay thế (Alternate repr()) trong Python

Trong Python, nếu muốn giới hạn lượng dữ liệu lớn hiển thị, ta có thể dùng module reprlib.

Để dùng module này, nên nhập bằng:

import reprlib

Có các lớp và phương thức khác nhau liên quan đến reprlib:

Lớp reprlib.Repr

Lớp Repr cung cấp dịch vụ định dạng. Nó tạo ra các hàm giống như repr() tích hợp. Trong lớp này ta có thể thêm giới hạn kích thước và các kiểu đối tượng khác nhau.

Phương thức reprlib.repr(object)

Trả về chuỗi giống như repr() tích hợp, nhưng trong trường hợp này có giới hạn về hầu hết các kích thước.

Đối tượng Repr (Repr Objects)

Đối tượng Repr cung cấp một số thuộc tính, dùng để cung cấp giới hạn kích thước cho các kiểu dữ liệu khác nhau.

repr.maxlevel đại diện cho giới hạn độ sâu cho biểu diễn đệ quy. Giá trị mặc định là 6. Có các giới hạn max khác cho dict, list, tuple, set, v.v.

STTPhương thức/Biến & Mô tả
1Repr.maxlong – Số ký tự tối đa biểu diễn số long. Mặc định 40
2Repr.maxstring – Giới hạn ký tự trong chuỗi string. Mặc định 30.
3Repr.maxother – Giới hạn kích thước dữ liệu khác, nơi định dạng không được chỉ định.
4Repr.repr(obj) – Giống repr() tích hợp
5Repr.repr1(obj, level) – Triển khai đệ quy của repr(). Cũng chỉ định level cho đầu ra đệ quy

Mã ví dụ

import reprlib
import math

fact_list = [math.factorial(x) for x in range(50)]
print(reprlib.repr(fact_list))

myRept = reprlib.Repr()  # Tạo đối tượng Repr và đặt kích thước long = 10
myRept.maxlong = 10
print(myRept.repr(fact_list[23]))

Kết quả

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