类可以将数据与函数封装起来,用一个例子解释,先定义一个类:

 class athlete:
def __init__(self,a_name,a_dob=None,a_times=[]):
self.name = a_name
self.dbo = a_dob
self.time = a_times

athlete是类的名字,self变量名,self后面的都是参数,而后面的代码就是将a_name这个参数的值赋给了self的name属性,以此类推。定义好了之后来试试:

 sarah = athlete('sarah sweeney','2002-6-17',['2:58','2.58','1.56'])
sarah.time
['2:58', '2.58', '1.56']
sarah.name
'sarah sweeney'

再修改一下这个类,让它的功能更强大:

 class athlete:
def __init__(self,a_name,a_dob=None,a_times=[]):
self.name = a_name
self.dbo = a_dob
self.time = a_times
def top3(self):
return(sorted(set([sanitize(t) for t in self.time]))[0:3])

在类中定义函数,函数中可以直接引用类的属性值,即在7行直接引用了self.time。现在再来看看这个类的新功能:

 >>> c_james=athlete('James Lee','2002-3-14',['2-01', '2-16', '2:22','2:30'])
>>> c_james.top3()
['2.01', '2.16', '2.22']

总结的来说,类其实就是自己所定义的一种特殊的数据类型

Python还可以定义继承了内置类(比如说list,dict,set)的类,这种方法用我自己的话解释就是将自己想要的功能添加到Python原有的类上面,定义方式只要在类名称后面加上要继承的类:

 def newlist(list):
def __init__(self,new_varible...):
....

Python学习笔记:类的更多相关文章

  1. Python学习笔记——类和对象

    类和对象 1. 一个例子 # 对象 = 属性 + 方法 # Python 中的类名称约定首字母大写,而 Python 函数名首字母小写 class Turtle: #属性 color = 'green ...

  2. 廖雪峰Python学习笔记——类和实例

    Class MyList(list): __metaclass__ = ListMetaclass #它表示在创建MyList这个类时,必须通过 ListMetaclass这个元类的LIstMetac ...

  3. python学习笔记--类(一)

    # 类是为了代码重用 class First: #类 pass #实例 = 类名() obj = First() # 类是一种产生实例的工厂# 类和模块的差异在于,内存中特定的模块只有一个实例(所以我 ...

  4. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  5. 《python基础教程(第二版)》学习笔记 类和对象(第7章)

    <python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person:    def setName(self,name):        self.name=n ...

  6. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  7. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  8. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  9. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  10. 【Python学习笔记之二】浅谈Python的yield用法

    在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...

随机推荐

  1. jQuery 遍历 - 后代

    向下遍历 DOM 树 下面是两个用于向下遍历 DOM 树的 jQuery 方法: children() find() jQuery children() 方法 children() 方法返回被选元素的 ...

  2. MP4 ISO基础媒体文件格式 摘要 1

    目录 Object-structured File Organization 1 File Type Box (ftyp) Box Structures File Structure and gene ...

  3. label smooth

    图像分类的一个trick,推导可参考这位博主https://leimao.github.io/blog/Label-Smoothing/ 知乎上的讨论https://www.zhihu.com/que ...

  4. Summer training round2 #6 (Training #22)

    A:二分答案 如果中位数比目前的大就right=mid-1 else left=mid+1 C!:几何 G:优先队列贪心 #include <bits/stdc++.h> using na ...

  5. 集合(四) Hashtable

    2.Hashtable Hashtable,顾名思义,哈希表,本来是已经被淘汰的内容,但在某一版本的Java将其实现了Map接口,因此也成为常用的集合类,但是hashtable由于和hashmap十分 ...

  6. Linux 性能优化笔记:软中断(转载)

    进程的不可中断状态是系统的一种保护机制,可以保证硬件的交互过程不被意外打断. 所以,短时间的不可中断状态是很正常的. 但是,当进程长时间都处于不可中断状态时,你就得当心了.这时,你可以使用 dstat ...

  7. 提取全局应用程序集中的dll

    如何提取全局应用程序集中的dll GAC路径:C:\WINDOWS\assembly 在资源管理器中打开这个路径看到的东西不能复制,右键中也只有 “卸载” 和 “属性” 两个菜单. 在命令提示符下切换 ...

  8. Python 3标准库 第十四章 应用构建模块

    Python 3标准库 The Python3 Standard Library by  Example -----------------------------------------第十四章   ...

  9. 快速排序c代码

    //快速排序,通过测试 #include "stdio.h" void quickSort(int* data,int len){ ) return; ; ; ]; while(s ...

  10. Python CGI编程Ⅲ

    GET和POST方法 浏览器客户端通过两种方法向服务器传递https://www.xuanhe.net/信息,这两种方法就是 GET 方法和 POST 方法. 使用GET方法传输数据 GET方法发送编 ...