【Python】[07]定制数据对象

这章主要学习数据字典和类。

字典

python中字典的定义为:一个内置的数据结构(内置于python中),允许将数据与键而不是数字关联。这样可以使内存中的数据与实际数据的结构保持一致。

创建空字典的方式:

1、使用大括号来创建一个空字典,如:cleese={}

2、使用dic()工厂函数来创建空字典,如:cleese=dic()

通过将值与键关联,可以向空字典中增加数据,这两种方法向字典添加数据的区别是:

第一种创建方式可以分步向空字典中添加数据

cleese["Name"]="Jack"
cleese["Occupations"]=["actor","teacher","doctor","writer"]

第二种创建方式,字典中的数据需要一次性同时创建

cleese={"Name":"Jack","Occupations":["actor","teacher","doctor","writer"]}

访问字典中的单个数据项的方法是,通过索引键,来访问键对应的数据项:

cleese["Name"]

python遵循标准的面向对象编程模型,提供了一种方法,允许将代码及其处理的数据定义为一个类,有了类的定义,就可以用它来创建(或者说实例化)数据对象,它会继承类的特性。

也就是说,类可以用来将代码和代码处理的数据相关联。

定义一个类时,实际上是在定义一个定制工厂函数,然后可以在代码中使用这个工厂函数创建实例。

python同样时使用class定义类,不过每个定义的类都有一个特殊的方法:__init__()  #前后分别包含两个下划线

类中方法的定义跟函数的定义类似,都是用def来定义,基本模式如下:(其中,thing为类属性,是对象实例中的变量。)

class Athletes:
  def __init__(self,value=0):
    self.thing=value

在调用类的过程中,会将目标标识符赋值给self,如果没有这个赋值,python解释器就没法知道方法调用要应用到哪个对象实例中去,所以self参数可以帮助标志要处理哪个对象实例的数据。

在一个对象实例上调用类方法时,python要求第一个参数是调用对象实例,所以,类中定义的每个方法的第一个参数都必须是self。

定义了类之后,就需要创建对象实例,就是把对应类名的调用赋值给各个变量,如:

name=Althletes()
dob=Althletes()
times=Althletes()

实际上python执行代码如下:

Athletes.__init__(name)
Athletes.__init__(dob)
Athletes.__init__(times)

以上关于类的介绍,都是从零开始创建的定制类,但不是所有的类都需要从零开始创建,有些类可以在其他类的基础上进行继承,也就是,说在其他类的基础上添加一些方法以满足需求。

继承类

继承类可以从python任何内置的类型进行继承,也可以从多个类继承(又叫多重继承),还可以从定制类继承。

原文地址:https://www.cnblogs.com/diaomaoxiaoge/p/10010113.html

时间: 2024-11-05 21:50:06

【Python】[07]定制数据对象的相关文章

[Head First Python]6. 定制数据对象:打包代码与数据

相同功能,演进实现 数据文件 sarah2.txt sarah Sweeney,2002-6-17,2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55 1- 返回dict return({'Name':data_list.pop(0), 'DOB':data_list.pop(0), 'Time':str( sorted( set([sanitize(t) for t in data_list] ) )[0:3])}) 1 def sanitize(time

Python学习笔记_Chapter 6定制数据对象

1. 有用的BIF a. 判断字符串中是否包含子字符串 1 if s_a in s_b: b. pop() 描述:从指定的列表位置删除并返回一个数据项. 1 (sarah_name,sarah_dob)=l_rah.pop(0),l_rah.pop(0) 2 #pop(0)中0位置为list中第一个数据项 3 #第一次执行pop赋值给sarah_name c. strip() 输入的是字符串,返回的是列表 d.open 读文件时可以多种方式打开文件,取出的数据是不同的,可以是文本也可以是二进制.

六、定制数据对象(Python的面向对象) ----- 打包代码与数据

创建Python字典 python字典即为键值对,相当于Java中的map,其创建的两种形式: a = {} # 普通方式 b = dict() # 使用工厂函数 字典的赋值与访问 #创建字典 >>> cleese['Name'] = 'John Cleese' >>> cleese['Occupations'] = ['actor','comedian','writer','film producer'] >>> palin = {'Name':'M

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(sanit

【七】定制数据对象

一:编写程序 现如今有一组新的秒表数据,需要对其数据进行提取 sarah.txt sara,2002-9-9,2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55 1.将sarah.txt中的名字与成绩打印出来(使用读取文件的方式) #coding=utf-8 #打印出秒表数据的姓名与前三列的成绩 def get_file(filename): try: with open(filename) as f: data=f.readline().strip().s

Python数据对象的编码和解码,json和pickle模块,base64模块的简单使用

1.面向对象 对象:生活中的客观事物 类:对事物的抽象,在代码中实现class类型 类属性:这类事物具有的特点或者属性 类方法:这类事物具有的行为,可以实现的方法 实例:使用之前对类的实例化之后的结果 实例属性:对象具有的一些描述对象或者形容对象的属性,对象具体具有的特性 实例方法:对象具有的方法,行为动作 1.查看对象所拥有的方法 dir(对象) 例如 print(dir(列表))1.类中的实例(类)属性和方法命名风格 属性:名词 方法:动词 2.Python中万物皆对象 _对象名,对象私有化

python之什么是对象值比较,什么是对象身份比较

一.对象值的比较 1.比较的操作是针对对象的值进行比较的 2.也就是说比较的是对象的值,而不是对象本身 等价于值和值的直接比较: >>> >>> 2 == 2True>>> 2.46 <= 8.33True 对象值的比较 >>> a = 88>>> b = 98>>> >>> a == bFalse>>> a >= bFalse>>>

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

Python中的函数对象与闭包

函数在Python中是第一类对象,可以当做参数传递给其他函数,放在数据结构中,以及作为函数的返回结果. 下面的例子为接受另外一个函数作为输入并调用它 1 #foo.py 2 def callf(func): 3 return func() 使用上面的函数: 1 import foo 2 def helloworld(): 3 return 'Hello,World' 4 5 print foo.callf(helloworld) >>>‘Hello,World’ 2.把函数当做数据处理时