Python学习之路7——Python对象
来源:互联网 发布:程序员客栈签约 编辑:程序博客网 时间:2024/06/04 14:15
1.Python对象
Python使用对象模型来存储数据。构造任何类型的值都是一个对象。
所有的Python对象都拥有三个特性:身份,类型和值。
身份:每个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。
类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以用type()查看Python对象的类型。在Python中类型也是一个对象,所以type()返回的是对象而不是字符串。
值:对象表示的数据项。
2.标准类型
- Integer 整数
- Boolean 布尔型
- Long integer 长整形
- Floating point real number 浮点型
- Complex number 复数型
- String 字符串
- List 列表
- Tuple 元组
- Dictionary 字典
3.其他内建类型
- 类型
- Null对象
- 文件
- 集合/固定集合
- 函数/方法
- 模块
- 类
3.1 类型对象和type类型对象
类型存储着对象的一系列固有行为和特性等信息,而描述一种类型所需要的信息不可能用一个字符串来搞定,所以类型不能是一个简单的字符串。我们将类型定义成对象。接下来介绍type()函数,调用type()函数可以得到特定对象的类型信息。
>>> type(66)
<type 'int'>
>>>
type()返回的也不是一个字符串,继续看
>>> type(type(66))
<type 'type'>
>>>
所有的类型对象的类型都是type,它也是所有Python类型的根和所有Python标准类的默认元类(metaclass)。
3.2 None———Python的Null对象
Python中的None相当于C中的null。
4.内部类型
- 代码
- 帧
- 跟踪记录
- 切片
- 省略
- Xrange
4.1 代码对象
代码对象是编译过的Python源代码的片段,它是可执行对象。通过调用内建函数compile()可以得到代码对象。代码对象可以被exec命令或eval()函数来执行。
代码对象本身不包含任何执行环境信息,它是用户自定义函数的核心。在被执行时动态获得上下文。
4.2 帧对象
帧对象表示Python的执行栈帧。帧对象包含Python解释器在运行时所需要知道的所有信息。它的属性包括指向上一帧的链接,正在被执行的代码对象,本地及全局名称字典及当前指令等。每次函数调用产生一个新的帧,每个帧对象都会相应创建一个C栈帧。用到帧对象的一个地方是跟踪记录对象。
4.3 跟踪记录对象
代码出错时,Python就会引发一个异常。如果异常未被捕获和处理,解释器就会退出脚本运行并显示诊断信息。
>>> s[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 's' is not defined
当异常发生时,一个包含针对异常的栈跟踪记录对象被创建。如果一个异常有自己的处理程序,处理程序就可以访问这个跟踪记录对象。
4.4 切片对象
当使用Python扩展的切片语法时,就会创建切片对象。(这里简单记一下,后面有更详细的切片介绍)
4.5 省略对象
省略对象拥有扩展切片语法中,起记号作用。省略队象有一个唯一的名字Ellipsis,它的布尔值始终为True。
用C中的语法来解释:
for (i = 100: : i ++)
do something
省略对象就是for语句中两个冒号之间省略的符号。
4.6XRange对象
调用XRange()函数会生成一个XRange对象,xrange是range的兄弟版本,用于需要节省内存使用或range()无法完成的超大数据集场合。
注:range() 介绍,用法为range(start,end),start默认为0,返回的是一个列表。下面是例子,一看就懂。
>>> range(1,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- Python学习之路7——Python对象
- Python学习之路8——Python对象2
- Python学习之对象
- Python学习之路四---面向对象
- python学习之路--threading Lock对象
- python之路——面向对象
- python学习之路——函数关于可变对象和不可变对象问题
- Python经验主义学习之路——可变对象和不可变对象
- python学习之--面向对象
- Python学习之面向对象
- python学习之面对对象
- Python学习之[7]——python pickle模块
- python小菜的学习之路 之 面向对象编程
- Python——入门学习之路
- Python 学习之路——1
- python学习之路—基础篇
- Python学习之路7
- Python学习记录——Python函数及对象
- 蚀蚇肅莅薃蚃袁膄薅蝿羀肄
- 虿薆羂荿莈袂袈莈蒁蚅膇莇
- Http请求格式
- 莇莂蚂羀蒃薁羄袃肆莇螃袅
- 羈羁莈螀袁芀莇蒀蚄膆莆薂
- Python学习之路7——Python对象
- C++存储区域
- 虿袈膆芆螇螈腿莂薄肀肁莈
- JSP 9 大内置对象详解
- 葿羆芈荿螇羅羈薄蚃羄肀莇
- 莁芇蝿袈芁蚂袅肆肀薄袁螃
- 膃薅蚆肅节蚇袁羁芁莇蚄袇
- 莁蒁肂莄莃薆螈芄莆蚂羇肃
- OK6410烧写裸机代码的第一天