INHERITANCE in python3
Ethan Furman
ethan at stoneleaf.us
Thu Dec 19 12:28:21 EST 2019
On 12/19/2019 06:22 AM, Pieter van Oostrum wrote:
> Random832 writes:
>> On Wed, Dec 18, 2019, at 23:10, wrote:
[vahid asadi]
>>> my problem here is why this attribute is not recognize by python and it
>>> raise an traceback error that said 'there is no such p.family
>>> attribute'. although i use multiple inheritance with 'super ' it not
>>> works. thanks for your help.
>>>
>>> class Username:
>>> def __init__(self, name, *args):
>>> self.name= name
>>>
>>> class Userfamily:
>>> def __init__(self, family, *args):
>>> self.family = family
>>>
>>> class Person(Username, Userfamily):
>>> def __init__(self, *args):
>>> super().__init__(*args)
>>>
>>> p = Person("v", "aaa")
>>> print(p.name)
>>> print(p.family)
[Random32]
>> The Username class also needs to call super(). In general, super() is
>> intended to be used with all classes that might be part of a multiple
>> inheritance hierarchy, not just the derived one.
[Pieter van Oostrum]
> Just for safety, also add it* to the Userfamily class.
* a call to super() (in case anybody else misreads that like I did)
--
~Ethan~
More information about the Python-list
mailing list