| # Class could be designed to be used in cooperative multiple inheritance | |
| # so `super()` could be resolved to some non-object class that is able to receive passed arguments. | |
| class Shape(object): | |
| def __init__(self, shapename, **kwds): | |
| self.shapename = shapename | |
| # in case of ColoredShape the call below will be executed on Colored | |
| # so warning should not be raised | |
| super(Shape, self).__init__(**kwds) | |
| class Colored(object): | |
| def __init__(self, color, **kwds): | |
| self.color = color | |
| super(Colored, self).__init__(**kwds) | |
| class ColoredShape(Shape, Colored): | |
| pass | |
| cs = ColoredShape(color='red', shapename='circle') |