zoukankan      html  css  js  c++  java
  • Head Frist Python 读书笔记 第六章 定制数据对象

    Bullet Points:

    • 定义Class

    python中的class和JavaScript中的类似(后悔没有认真看JS),原则只有一个“方法是共享的,而属性不共享”

    class AthleteList:
        def __init__(self,a_name,a_dob=None,a_times=[]):
            self.name=a_name
            self.dob=a_dob
            self.times=a_times
        def top3(self):
            return sorted(set([float(sanitize(item)) for item in self.time]))[0:3]
        def add_time(self,time):
            self.times.append(time)
        def add_times(self,times):
            self.times.extend(times)

    1.  __init__ 方法相当于构造函数

    2.  每个方法第一个参数self,指的是当前的实例对象

    python当然也可以继承

    class AthleteList(list):
        def __init__(self,a_name,a_dob=None,a_times=[]):
            list.__init__([])
            self.name=a_name
            self.dob=a_dob
            self.extend(a_times)
        def top3(self):
            return sorted(set([float(sanitize(item)) for item in self]))[0:3]
        def add_time(self,time):
            self.append(time)
        def add_times(self,times):
            self.extend(times)

    与其他语言的继承类似,只是语法不太一样,在构造函数中,也需要调用被继承类的构造函数

  • 相关阅读:
    安装Docker-Compose
    Docker微容器Alpine Linux
    Linux 常用命令
    如何定制博客园的个人空间
    Elasticsearch入门之从零开始安装ik分词器
    Elasticsearch入门实践
    写在2017年的总结
    开源ETL工具之Kettle介绍
    常用Java数据库连接池
    细说shiro之七:缓存
  • 原文地址:https://www.cnblogs.com/lvjianwei/p/4986764.html
Copyright © 2011-2022 走看看