Python学习笔记_Chapter 6定制数据对象
1. 有用的BIF
a. 判断字符串中是否包含子字符串
if s_a in s_b:
b. pop()
描述:从指定的列表位置删除并返回一个数据项。
(sarah_name,sarah_dob)=l_rah.pop(0),l_rah.pop(0)
#pop(0)中0位置为list中第一个数据项
#第一次执行pop赋值给sarah_name
c. strip()
输入的是字符串,返回的是列表
d.open
- 读文件时可以多种方式打开文件,取出的数据是不同的,可以是文本也可以是二进制。
- 文件是文本文件时:
data=open('test.txt')#打开的是问本文件哦
s_a=data.readline()#读出文件中的一行数据,返回结果为string
#遍历data
for item in data:
print(item)
2. 字典dict
也称映射,散列,关联数组。
字典是Python内置数据类型,允许将数据与名称(键)相关联,而不是与数字相关联。
a.使用字典
创建空字典:两种创建空字典的方式
d_a={}
d_b=dict()
向字典中添加数据:批量添加与逐个添加
d_a['name']='dest'
d_a['ex']='female' d_b={'name':'michal','sex':'male'}
访问单个数据:
d_a['name']
扩展字典中数据:注意字典中不维持插入的顺序,只关注关联关系
d_a['hobby']='game'
#在d_a中添加一个新的键hobby
3. 类
类将具有关联性的数据和处理数据的代码打包在一起。打包的好处在于降低复杂度,程序的结构更加清晰。
Python类包含元素:属性,方法,实例。
类的核心环节:如何定义类,属性、方法、实例的关系。
a.定义类
class Athlete:#类定义
def __init__(self,value):#类方法定义
self.name=value#类属性赋值
b. 创建实例
a=Athlete()
这里标识符a只是实例的引用哦。
实例可以调用类的方法,实例拥有自己的属性,这些操作都是通过引用实现的。
c. self
每个方法的第一个参数都是self。
为什么需要self?
- 类是可以创建多个实例的。
- 不同实例间共享类的方法,不共享自己的属性。
- 当实例调用共享的方法时,方法如何能够知道应该处理哪个实例的属性。
- self指示方法去处理调用它的实例的属性。
d. 实例、属性、方法的关系。
- 实例拥有自己的属性,
- 实例通过引用调用类的方法,
a=Athlete()
- a是实例的引用,实例存储在具体的存储空间中。
- 实例的属性在方法中处理,
- 方法通过self了解到该处理哪个实例的属性。
4. 类继承
class AthleteList(list):
def __init__(self,a_name,b_dob=none,a_times=[]):
#初始化list部分
list.__init__([])
#初始化AthleteList的属性,self.name, self.dob是额外的属性,self是基类list的属性
self.name=a_name
self.dob=b_dob
self.extend(a_times) def top3(self):
return(sorted(set([santitize(t) for t in self]))[0:3])#self属性中存储list的数据 vera=AthleteList('helo')
vera.append('1:32')# 相当于self.append('1:32')
AthleteList 相当于加入了额外属性和方法的List
AthleteList实例中既包含List属性又包含额外的属性,可以看成包含一个List实例。
AthleteList实例调用List的方法,相当于其List部分调用了List方法。
Python学习笔记_Chapter 6定制数据对象的更多相关文章
- 吴裕雄--天生自然python学习笔记:Python3 JSON 数据解析
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...
- Python学习笔记_Chapter 4数据保存到文件
1. What For 将基于内存的数据存储到磁盘上,达到持续存储. 2. HOW 方法一: 将数据写到文件中 常规的处理方式 #file.x被打开的文件,model打开文件的方式 out=open( ...
- Python学习笔记:Matplotlib(数据可视化)
Matplotlib是一个可以将数据绘制为图形表示的Python三方库,包括线性图(折线图,函数图).柱形图.饼图等基础而直观的图形,在平常的开发当中需要绘图时就非常有用了. 安装:pip insta ...
- Python学习笔记之selenium 定制启动 chrome 的选项
在自动化中,默认情况下我们打开的就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用.所以使用 selenium 时,我们可能需要对 chrome ...
- Python学习笔记_Chapter 7web开发
1.web应用元素 a.成员: web浏览器 web服务器 b.行为: web请求: 请求内容: 静态内容:如html文件,图像. 动态内容:需服务器运行一个程序进而做出响应. 网关接口&CG ...
- python学习笔记(7)数据类型转换
- Python学习笔记_Python对象
Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...
- Python学习笔记之类与对象
这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...
- Python学习笔记之从文件中读取数据
10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...
随机推荐
- shell 分支/循环
==)); then patern="Update" else patern="Read" fi in "-h") ] then helpI ...
- FZU 2086 餐厅点餐(模拟)
Problem 2086 餐厅点餐 Problem Description Jack最近喜欢到学校餐厅吃饭,好吃干净还便宜. 在学校餐厅,有a种汤,b种饭,c种面条,d种荤菜,e种素菜. 为了保证膳食 ...
- one hot encoding
转自:http://blog.sina.com.cn/s/blog_5252f6ca0102uy47.html 问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的 ...
- VS2010 编译 sqlite3 生成动态库和链接库
如果想以dll的方式使用sqlite而新建空的dll工程,添加sqlite源文件,会发现能生成dll,但缺乏lib函数信息映射库,单独使用dll文件是比较麻烦的,而网上多数做法是通过lib.exe手动 ...
- <hdu - 1863> 畅通工程 并查集和最小生成树问题
本题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1863 Problem Description: 省政府“畅通工程”的目标是使全省任何两个村庄间都可以 ...
- Homestead PHP7安装phpredis扩展
sudo mkdir /home/phpredis/ && cd /home/phpredis/ sudo git clone -b php7 https://github.com/p ...
- 49、word2vec - tensorflow
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32Type & ...
- R语言数据结构
5. 数据结构 5.1 数据结构简介 (1)向量 一个向量的所有元素必须有相同的类型(模式) (2)列表 列表可以非同质的 列表可按位置索引:lst[[2]] 抽取子列表:lst[c(2,5)] 列表 ...
- Tomcat下的work目录
work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它叫work目录而不是cache目录的原因. jsp,tomcat的工作原理是当浏览器访 ...
- Aa3.0 事件机制
说明:本文由多处网络文章整理而成,在此未一一注明原文链接,敬请谅解! AS3:事件流机制 事件流 只要发生事件,Flash Player就会调度该事件对象. 如果事件目标不在显示列表中,则Flash ...