.Honza Král
@honzakral
__getattribute__
>>> a = B()
>>> a.x
AttributeError: No x here!
>>> a = B()
>>> a.f()
TypeError: f() missing 1 required 
positional argument: 'self'
@property
super()
>>> b = B()
>>> b.f(42, other=True)
B.f(*(42,), **{'other': True}
A.f(*(42,), **{'other': True}
?