के लिए int और एमआरओ विस्तारित पाइथन में, मैं बिल्टिन 'int' प्रकार का विस्तार करने की कोशिश कर रहा हूं। ऐसा करने में मैं निर्माता के लिए कुछ keywoard बहस में पास करना चाहते हैं, तो मैं ऐसा करते हैं:पायथन: __init__
class C(int):
def __init__(self, val, **kwargs):
super(C, self).__init__(val)
# Do something with kwargs here...
हालांकि, जबकि बुला C(3)
ठीक काम करता है, C(3, a=4)
देता है:
'a' is an invalid keyword argument for this function`
और C.__mro__
रिटर्न की उम्मीद:
(<class '__main__.C'>, <type 'int'>, <type 'object'>)
लेकिन यह है कि अजगर int.__init__
पहले कॉल करने के लिए कोशिश कर रहा है लगता है ... किसी को भी पता है क्यों? क्या यह दुभाषिया में एक बग है?