I am a newbie for python and try to understand class Inheritance.
Chris Rebert
clp2 at rebertia.com
Sat Oct 15 04:11:53 EDT 2011
On Sat, Oct 15, 2011 at 12:59 AM, <aaabbb16 at hotmail.com> wrote:
> On 10月15日, 上午12时04分, Chris Rebert <c... at rebertia.com> wrote:
>> On Fri, Oct 14, 2011 at 11:20 PM, <aaabb... at hotmail.com> wrote:
<snip>
>> > my_class.main()
>>
>> Your class doesn't define any method named "main" (you only defined
>> test() and __initial__() ), so this call will fail.
> how to do it?
You'd define a method named "main", just like with "test".
You would then call it by doing:
my_class().main()
<snip>
> Test.py
> #!/usr/bin/python
> from my_lib import p_test
> class my_class(p_test.name):
> def __initial__(self, name):
> pass
> def test(self):
> print "this is a test"
>
> If __name__ == '__main__':
> my_class.main()
> ---------------------------------------------------
> my_lib.py
> class p_test()
> .......
> ........
>
> Can anyone finish it and give me a demo.
> Class inheritance?
> for this case, it inherit/change p_test "name" attribute.
> I try to quick understand how to inherit parent attribute
my_lib.py:
class ParentClass(object):
def __init__(self, name):
self.name = name
self.species = "Human"
test.py:
from my_lib import ParentClass
class MyClass(ParentClass):
def __init__(self, name):
super(MyClass, self).__init__(name + " Jones")
def print_name(self):
print "My name is", self.name
print "And I am a", self.species
MyClass("Bob").print_name()
Note that classes are conventionally named using CamelCaseLikeThis
instead of underscore_separated_words.
Cheers,
Chris
More information about the Python-list
mailing list