You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
453 B
16 lines
453 B
4 years ago
|
"""
|
||
|
categories: Core,Classes
|
||
|
description: Method Resolution Order (MRO) is not compliant with CPython
|
||
|
cause: Depth first non-exhaustive method resolution order
|
||
|
workaround: Avoid complex class hierarchies with multiple inheritance and complex method overrides. Keep in mind that many languages don't support multiple inheritance at all.
|
||
|
"""
|
||
|
class Foo:
|
||
|
def __str__(self):
|
||
|
return "Foo"
|
||
|
|
||
|
class C(tuple, Foo):
|
||
|
pass
|
||
|
|
||
|
t = C((1, 2, 3))
|
||
|
print(t)
|