Tại sao không thực hiện công việc sau (Python 2.5.2)?Tại sao tôi không thể phân lớp datetime.date?
>>> import datetime
>>> class D(datetime.date):
def __init__(self, year):
datetime.date.__init__(self, year, 1, 1)
>>> D(2008)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function takes exactly 3 arguments (1 given)
Tôi muốn tạo ra một lớp học mà là giống như datetime.date
, nhưng với một __init__
chức năng khác nhau. Rõ ràng chức năng của tôi không bao giờ được gọi. Thay vào đó, datetime.date.__init__
ban đầu được gọi và không thành công vì điều đó dự kiến 3 đối số và tôi chuyển vào một đối số.
Điều gì đang xảy ra ở đây? Và đây có phải là một đầu mối không?
>>> datetime.date.__init__
<slot wrapper '__init__' of 'object' objects>
Cảm ơn!
xem thêm http://stackoverflow.com/questions/309 129/why-cant-i-inherit-from-dict-và-exception-in-python – hop