Hello, First, thank you for providing this GREAT service, & THANKS to everyone who contributes. It's greatly appreciated. . .I'm new to Python (2.7, Win XP) & new to programming in general. I have been studying on my own for about a month now. I believe I have a good grasp of the basics.

Secondly, I have several questions about this piece of code from 'A Byte Of Python' by Swaroop. Hope that's ok to use this code. I guess I could try to write a new ex. on my own, but, figured it would be too confusing.

My question is regarding the tell methods in the subclasses,the code {SchoolMember.tell(self)}, in the class Teacher & Student. I just don't understand what this is doing? Calling the first method {def tell} from the parent class, I assume? There is already a print statement in each of the subclass {def tell} showing details, why call another print statement (from parent class {def tell})?? I know this should be simple, but I'm confused. LOL, obviously.

Thank you in advance!






class SchoolMember:
    '''Represents any school member.'''
    def __init__(self,name,age):
        self.name = name
        self.age = age
        print '(Initialized SchoolMember: %s)' %self.name

    def tell(self):
        '''Tell my details.'''
        print 'Name:"%s" Age:"%s"' % (self.name, self.age),

class Teacher(SchoolMember):
    '''Represents a teacher'''
    def __init__(self,name,age,salary):
        SchoolMember.__init__(self,name,age)
        self.salary = salary
        print '(Initialized Teacher: %s)' %self.name

    def tell(self):
        SchoolMember.tell(self)
        print 'Salary: "%d"' % self.salary

class Student(SchoolMember):
    '''Represents a student.'''
    def __init__(self,name,age,marks):
        SchoolMember.__init__(self,name,age)
        self.marks = marks
        print '(Initialized Student: %s)' %self.name

    def tell(self):
        SchoolMember.tell(self)
        print 'Marks: "%d"' % self.marks

t = Teacher('Mrs. Shrividya',40,30000)
s = Student('Swaroop',22,75)

print ##prints a blank line

members = [t,s]
for member in members:



OUTPUT

$ python inherit.py
(Initialized SchoolMember: Mrs. Shrividya)
(Initialized Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized Student: Swaroop)

Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"22" Marks: "75"
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to