__init__ 初始化时被调用 __del__ 消毁时被调用 class Person: def __init__(self, name): self.name = name def __del__(self): print '%s says bye.' % self.name 使用继承,python 允许多重继承 class SchoolMember: def __init__(self, name, age): self.name = name self.age = age def tell(self): pass class Teacher(SchoolMember): def __init__(self, name, age, salary): SchoolMember.__init__(self, name, age) # python 不会自动调用基类的__init__,需要专门调用,学生类同样要专门调用。 self.salary = salary def tell(self): # 函数没有参数时仍然需要self,子类可以覆盖基类的方法。 pass class Student(SchoolMember): def __init__(self, name, age, marks): SchoolMember.__init__(self, name, age) self.marks = marks def tell(self): pass t = Teacher('Mrs. Shrividya', 40, 30000) s = Student('Swaroop', 22, 75) # 这里用循环调用相同其类的两个不同子类的对象的同名方法。 members = [t, s] for member in members: member.tell()