Skip to content

Instantly share code, notes, and snippets.

@lqc
Created January 28, 2011 11:58
Show Gist options
  • Save lqc/800162 to your computer and use it in GitHub Desktop.
Save lqc/800162 to your computer and use it in GitHub Desktop.
class Base(object):
def foo(self):
return "foo"
class FaultyClass(Base):
def foo(self):
return "faulty-" + Base.foo(self)
class CorrectClass(Base):
def foo(self):
return "correnct-" + super(CorrectClass, self).foo()
class UppercaseMixin(Base):
def foo(self):
return super(UppercaseMixin, self).foo().upper()
class SubclassFAIL(FaultyClass, UppercaseMixin):
pass
class SubclassOK(CorrectClass, UppercaseMixin):
pass
print SubclassFAIL().foo() # faulty-foo
print SubclassOK().foo() # correct-FOO
~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment