Tôi đang cố gắng để làm việc hiểu những gì đang không làm việc trong mã này:Python Cmd mô-đun, vấn đề subclassing
#!/usr/bin/python
import cmd
class My_class (cmd.Cmd):
"""docstring for Twitter_handler"""
def __init__(self):
super(My_class, self).__init__()
if __name__ == '__main__':
my_handler = My_class()
Đây là lỗi tôi nhận được
Traceback (most recent call last):
File "main.py", line 12, in <module>
my_handler = My_class()
File "main.py", line 9, in __init__
super(My_class, self).__init__()
TypeError: super() argument 1 must be type, not classobj
Nếu tôi thay đổi lớp cha của "My_class "cho một đối tượng nó hoạt động tốt. Tôi làm sai ở đâu?
Có phải vì mô-đun cmd được viết lại bằng Python 3 không? – Teifion
Không. Đó là bởi vì trong Python 3.0 tất cả các lớp là "các lớp kiểu mới". – Stephan202
(Trên thực tế, sự khác biệt giữa cmd.py của 2.5 và 3.0 sẽ cho bạn thấy rằng rất ít thay đổi được thực hiện giữa các phiên bản đó.) – Stephan202