• Python的数据处理学习(三)


    三.类的继承
     
    Python 的class可以允许从零开始创建一个定制类,就像文章(二)创建Athlete类一样,也可以通过继承现有的其他类类创建一个类,这也包括用List、set和dict提供的python内置结构类,通过继承创建的这些类称为子类。
     
    (1) 原有的类
    class Athlete:
        def __init__(self,a_name,a_dob,a_times=[]):
            self.name = a_name
            self.dob=a_dob
            self.times=a_times
       
       def top3(self):
           return(
    sorted(set([sanitize(t) for t in self.times]))[0:3])
     
    向类增加两个方法:add_times(),可以将额外的计时值追加到选手的计时数据,add_times()会用一个或多个计时值(列表)来扩展一个选手的计时数据
    def add_times(self,time_value):
        self.times.append(time_value)
     
    def add_times(self,list_of_times):
        self.times.extend(list_of_times)
     
    (2) 继承内置类list的类
    class AthleteList(list): #提供被派生的类
        def __init__(self,a_name,a_dob,a_times=[]):
            list.__init__([]) #初始化所派生的类
            self.name = a_name #将参数赋予属性
            self.dob=a_dob
            self.extend(a_times) #数据本身就是计时数据,所以不再需要"times"属性
     
        def top3(self):
            return(sorted(set([sanitize(t) for t in self]))[0:3])
     
    (3) 调用类
    Vera =  AthleteList('Vera Vi')
    Vera.append('1.31')
    Vera.extend(['2.22','1-21','2;22'])
    print(Vera.top3())
  • 相关阅读:
    开发工具IDEA
    了解java 的一角
    枚举类和Random
    字符串String和StringBuffer进行字符串拼接的发现
    java里的包装类
    String和StringBuffer的区别
    StringBuffer进行字符串拼接
    Hashmat
    第三单元作业总结
    第二单元作业总结
  • 原文地址:https://www.cnblogs.com/I-Tegulia/p/4191862.html
Copyright © 2020-2023  润新知