To fix and update some stuff
It not a function when it has
Start using
To take a little about
See my comment
So using
To show a example where both method has same name,but we as add information about date.
This can be called
It not a function when it has
self
,then is a method that belong to the class. Start using
super()
,and look at PEP-8class BaseClass: def __init__(self): print("This is __init__method of Base Class") def base_method1(self): print("Only work in Base class <overridden> in DerivedClass") def base_method2(self): print("my base class method # 2") class DerivedClass(BaseClass): def __init__(self): super().__init__() print("I am inside my __init__method of my Drived Class") def base_method1(self): print("DerivedClass class method") def derived_method1(self): print("I am inside my derived class method 01") my_inherit = DerivedClass() my_inherit.base_method2()
Output:This is __init__method of Base Class
I am inside my __init__method of my Drived Class
my base class method # 2
To take a little about
Method overriding
,which can be confusing.See my comment
Only work in Base class <overridden> in DerivedClass
So using
DerivedClass
will base_method1
in BaseClass
has no functions as is overridden.To show a example where both method has same name,but we as add information about date.
This can be called
pre-filtering
and post-filtering
if doing method overriding.from datetime import datetime class BaseClass(): def __init__(self): print("This is __init__method of Base Class") def base_method1(self, message): print(f'base_method1 say {message}') def base_method2(self): print("My base class method # 2") class DerivedClass(BaseClass): def __init__(self): super().__init__() print("I am inside my __init__method of my Drived Class") def base_method1(self, message): date_info = f'at time {datetime.now():%B %d, %Y}' super().base_method1(f'{message} {date_info}') def derived_method1(self): print("I am inside my derived class method 01") my_inherit = DerivedClass() my_inherit.base_method2()Use:
>>> obj = BaseClass() This is __init__method of Base Class >>> obj.base_method1('hello') base_method1 say helloNow using same
base_method1
from DerivedClass
,it will add info about date.>>> obj = DerivedClass() This is __init__method of Base Class I am inside my __init__method of my Drived Class >>> obj.base_method1('hello') base_method1 say hello at time February 13, 2019