cuốn sách gpt4 ai đã làm

Sử dụng __str__ của từng thuộc tính cá thể với __str__ của một lớp

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 15:39:19 25 4
mua khóa gpt4 Nike

Có cách nào trong Python 3 để gọi đệ quy một biến thành viên riêng tư theo chương trình không? __str__ chức năng? Một cái gì đó như thế này:

lớp A:
chắc chắn __str__(tự):
trả lại "A"

lớp B:
chắc chắn __str__(tự):
trả lại "B"

lớp C:
def __init__(self):
tự._A = A()
tự._B = B()

chắc chắn __str__(tự):
cho var trong vars(self):
trả về str(var)

Nó hoạt động tốt khi gọi các thành viên riêng lẻ. Tuy nhiên, muốn có một cách để làm điều này một cách linh hoạt.

Cảm ơn bạn rất nhiều.

câu trả lời hay nhất

varsHàm trả về một từ điển trong đó các khóa là tên biến (dưới dạng chuỗi) và các giá trị là giá trị của biến. Vì vậy, việc lặp lại các giá trị này sẽ hoạt động.

lớp A:
chắc chắn __str__(tự):
trả lại "A"

lớp B:
chắc chắn __str__(tự):
trả lại "B"

lớp C:
def __init__(self):
tự._A = A()
tự._B = B()

chắc chắn __str__(tự):
đầu ra = ""
for _,var in vars(self).items(): #Iterate các giá trị
đầu ra += str(var) #Sử dụng hàm str() ở đây để làm cho đối tượng trả về dạng chuỗi của nó
trả về kết quả #Cần trả về thay vì in vì đó là điều mà hàm __str__() sẽ làm

Nếu cần, bạn có thể thêm một số loại dấu phân cách giữa các giá trị (như \N). Chỉ cần thay đổi str(var) Thay thế bằng str(var) + "\n".

Về python - sử dụng __str__ của từng thuộc tính phiên bản cho __str__ của một lớp, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53530306/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress