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

python - đối tượng cmd.Cmd không trả về giá trị

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

Tôi hiện đang sử dụng Python cmd Mô-đun để tạo trò chơi dựa trên lệnh.

Vào một lúc nào đó, tôi cmd.Cmd Các đối tượng sẽ được lồng vào nhau. Nếu tôi nói tôi đang chạy dấu nhắc lệnh MỘTthì đến một lúc nào đó sẽ có MỘT Tạo lời nhắc mới trong B. tôi muốn là của tôi B Khi hoàn thành, một lần nữa MỘT Trả về một giá trị. Tất cả các thử nghiệm của tôi đều quay trở lại với dấu nhắc lệnh nội bộ Không có Hoàn thành. Để hiểu rõ hơn về tình huống này, tôi đã thử đơn giản hóa vấn đề và chỉ cố lấy giá trị trả về từ đối tượng cmd.Cmd. Đây là những gì tôi có:

nhập cmd
Kiểm tra lớp (cmd.Cmd):
def __init__(tự, giá trị):
cmd.Cmd.__init__(tự)
self.value = giá trị
def do_bye(self, s):
trả về Đúng
def postloop(tự):
print("Đã vào vòng lặp postloop!")
trả về self.value

Sau đó, trên Shell tôi đã thử:

a = Kiểm tra("bla bla")
in(a.cmdloop())
# sau lệnh "tạm biệt" nó in ra Không có

print(Test("bla bla").cmdloop())
# sau lệnh "tạm biệt", nó CŨNG in ra Không có

a = Kiểm tra("safsfa").cmdloop()
in (a)
# Cũng in Không có

Tôi dường như không thể làm đượccmd.CmdĐối tượng trả về bất kỳ giá trị nào. Làm thế nào điều này có thể được thực hiện hoặc không thể thực hiện được vì lý do nào đó mà tôi không biết?

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

Khi gọi siêu lớp cmdloop() Sau phiên bản bạn có thể xác định lại trong lớp con cmdloop() để trả về một giá trị cụ thể:

Kiểm tra lớp (cmd.Cmd):
# ...
def cmdloop(tự):
cmd.Cmd.cmdloop(tự)
trả về self.value

Về python - đối tượng cmd.Cmd không trả về bất kỳ giá trị nào, 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/24225082/

26 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