Python 的类,,看Django源代码


看Django源代码,类的继承搞不太懂,所以先学习学习。

 1 # -*- coding:utf-8 -*- 2  3 class SchoolMember:  4     def __init__(self,name,age):  5         self.name = name  6         self.age = age  7         print ‘init SchoolMember: ‘, self.name, self.age 8          9     def tell(self): 10         print ‘name:%s; age:%s‘ % (self.name, self.age) 11         12         13 class Teacher(SchoolMember): 14     def __init__(self,name,age,salary): 15         # 继承 schoolmember类,name ,age 属性???? 这到底是继承还是重写呢?16         # 首先,继承了父类,先会在父类的初始化,然后继承过来17         SchoolMember.__init__(self,name,age) 18         self.salary = salary 19         print ‘init Teacher: ‘, self.name 20         21     def tell(self): 22         SchoolMember.tell(self)     # 调用父类的方法23         print ‘salary: ‘, self.salary 24         25         26 class Student(SchoolMember): 27     def __init__(self,name,age,marks): 28         # 也是继承那个29         SchoolMember.__init__(self,name,age) 30         self.marks = marks 31         print ‘init Student: ‘, self.name 32         33     def tell(self): 34         SchoolMember.tell(self) 35         print ‘marks: ‘, self.marks 36         37         38 if __name__ == "__main__":39     t = Teacher(‘yanggang‘, 20, 1000)40     s = Student(‘liming‘, 12, 86) 41 #    members = [t,s] 42 #    print43 #    for member in members: 44 #      member.tell()

(1)继承父类之后,用子类的实例,会先走父类,

SchoolMember.__init__(self,name,age) 

总结

Python 的类

相关内容

    暂无相关文章

评论关闭