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?

  1. 类是可以创建多个实例的。
  2. 不同实例间共享类的方法,不共享自己的属性。
  3. 当实例调用共享的方法时,方法如何能够知道应该处理哪个实例的属性。
  4. self指示方法去处理调用它的实例的属性。

d. 实例、属性、方法的关系。

  1. 实例拥有自己的属性,
  2. 实例通过引用调用类的方法,
    a=Athlete()
    1. a是实例的引用,实例存储在具体的存储空间中。
  3. 实例的属性在方法中处理,
  4. 方法通过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定制数据对象的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:Python3 JSON 数据解析

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...

  2. Python学习笔记_Chapter 4数据保存到文件

    1. What For 将基于内存的数据存储到磁盘上,达到持续存储. 2. HOW 方法一: 将数据写到文件中 常规的处理方式 #file.x被打开的文件,model打开文件的方式 out=open( ...

  3. Python学习笔记:Matplotlib(数据可视化)

    Matplotlib是一个可以将数据绘制为图形表示的Python三方库,包括线性图(折线图,函数图).柱形图.饼图等基础而直观的图形,在平常的开发当中需要绘图时就非常有用了. 安装:pip insta ...

  4. Python学习笔记之selenium 定制启动 chrome 的选项

    在自动化中,默认情况下我们打开的就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用.所以使用 selenium 时,我们可能需要对 chrome ...

  5. Python学习笔记_Chapter 7web开发

    1.web应用元素 a.成员: web浏览器 web服务器 b.行为: web请求: 请求内容: 静态内容:如html文件,图像. 动态内容:需服务器运行一个程序进而做出响应. 网关接口&CG ...

  6. python学习笔记(7)数据类型转换

  7. Python学习笔记_Python对象

    Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...

  8. Python学习笔记之类与对象

    这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...

  9. Python学习笔记之从文件中读取数据

    10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...

随机推荐

  1. leetcode 024

    Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...

  2. Storm 1.0.0

    Storm 1.0.0版本增加了很多新的特性,可用性以及性能也得到了很大的改善,该版本是Storm发展历程上一个里程碑式的版本,主要特点如下. 性能提升 Storm 1.0.0版本最大的亮点就是性能提 ...

  3. 在tableview的headerView中添加webView,webView自适应高度

    最近在项目中需要添加一个webView加载的页面,下面显示的是对这个webView所显示的内容的一个评论列表 ,列表要根据后台加载过来的HTML自适应的变化高度,tableview的cell在webV ...

  4. 【IE6的疯狂之九】li在IE中底部空行的BUG

    曾经写过[IE6的疯狂之六]li在IE中底部3像素的BUG(增加浮动解决问题),原文地址:http://www.css88.com/archives/421: IE6 BUG大全: http://ww ...

  5. 自动生成 Makefile (automake/autoconf 入门)

    作为Linux 下的程序开发人员,大家一定都遇到过Makefile ,用make 命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile ,如果要想写出一个符合自由软件 ...

  6. 低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和 ...

  7. 跑github上的Symfony项目遇到的问题2

    最近学习symfony框架,下载了大量的github上的别人的项目,要想跑起别人的项目,总结了以下几个步骤: 第一, 克隆一份代码; 第二,安装依赖,前提是安装了composer, 1:在你下载的项目 ...

  8. C# lock关键词/lock语句块、线程锁

    一.lock关键词说明 1. lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. 2. lock 语句块锁定,功能等同于 Monitor.Enter(obj): ...

  9. LCT

    一个LCT看了一天了,但是很多地方还是理解的很模糊,简单谈一下理解. LCT支持的是对于森林的分裂.合并,以及查询节点的连通性等操作. 对于这片森林来说,它是由一坨树组成的,对于每一棵树,我们采用类似 ...

  10. OpenGL编译问题随手记

    1.error C2381: "exit" : 重定义:__declspec(noreturn) 不同 编译OpenGL   Red   Book   的例子时出现错误, stdl ...