python秃头之路 简单的面向对象实例

    xiaoxiao2022-07-07  200

    定义一个列表的操作类:Listinfo

    包括的方法:

    1 列表元素添加: add_key(keyname) [keyname:字符串或者整数类型] 2 列表元素取值:get_key(num) [num:整数类型] 3 列表合并:update_list(list) [list:列表类型] 4 删除并且返回最后一个元素:del_key()

    class Listinfo: listinfo=[] def add_key(keyname): Listinfo.listinfo.append(keyname) def get_key(num): return Listinfo.listinfo[num] def update_list(list): Listinfo.listinfo+=list def del_key(): return Listinfo.listinfo.pop() def __init__ (self): pass

    类的继承

    在写类名括号后面有父类的类时 super().同名函数() 可以在重写时继承父类方法 父类名.同名函数() 也可以继承父类属性,一般使用super()方法

    下面的例子实现了学校成员类,这个类登记成员的姓名,并且统计学校的总人数。老师类继承学校成员类,创建对象的时候总人数加一,老师类登记老师的工资。学生类继承学校成员类,总人数也会加一,学生类登记学生的成绩。 #对象消亡的时候,总人数会减一。

    class School(object): """登记成员的姓名,并且统计学校的总人数 应包含成员的职业,名字,人数""" num=0 def __init__ (self,name): """初始化学校成员的名字和人数""" self.name=name School.num+=1 def __del__(self): """删除操作""" School.num-=1 class Teacher(School): """ 继承学校成员类,创建对象的时候总人数加一,老师类登记老师的工资 """ def __init__ (self,name,salary): """ 初始化教师对象 """ School.__init__(self,name) self.salary=salary class Student(School): """ 继承学校成员类,总人数也会加一,学生类登记学生的成绩 """ def __init__ (self,name,grade): """ 初始化学生对象 """ School.__init__(self,name) self.grade=grade if __name__ == '__main__': xiaowang=Teacher('xiaowang',1000) xiaoming=Student('xiaoming',90) print(xiaowang.name) # ~ del xiaowang print(School.num) print(xiaowang.salary)

    if name == ‘main’:是一个入口函数,主要用于python使用import导包时将运行部分也导入运行

    最新回复(0)