class A():
def f(self):
print("running function, f from class A")
class B(A):
def f(self):
print("running function, f from class B")
class C(A):
pass
Это показывает, что B.f
не равно A.f
.Так что B
должен переопределить f
:
obj = B()
print(obj.__class__.f == A.f)
# False
Это показывает, что C.f
равно A.f
.Так что C
не должно быть переопределено f
:
obj = C()
print(obj.__class__.f == A.f)
# True