Я не ожидаю увидеть результат:
class A(dict):
def __init__(self, *args, **kwargs):
self['args'] = args
self['kwargs'] = kwargs
class B(A):
def __init__(self, *args, **kwargs):
super(B, self).__init__(args, kwargs)
print 'Instance A:', A('monkey', banana=True)
#Instance A: {'args': ('monkey',), 'kwargs': {'banana': True}}
print 'Instance B:', B('monkey', banana=True)
#Instance B: {'args': (('monkey',), {'banana': True}), 'kwargs': {}}
Я просто пытаюсь заставить классы A и B иметь согласованные значения. Я не уверен, почему kwargs вставляются в аргументы, но я должен предположить, что я либо называю __init__()
неправильно из подкласса, либо пытаюсь сделать что-то, что вы просто не можете сделать.
Какие-нибудь советы?