`
- 浏览:
254222 次
- 性别:
- 来自:
未定
-
python2.x学习笔记(4)-Python对象
1. 所有的 Python 对像都拥有三个特性:身份,类型和值。
身份:
每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数 id()来得到。
这个值可以被认为是该对象的内存地址。
类型
对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。您可以用内建函数 type()查看 Python 对象的类型。因为在 Python 中类型也是对象
(还记得我们提到 Python 是面向对象的这句话吗?),所以 type()返回的是对象而不是简单的
字符串。
值
对象表示的数据项
2. 标准类型
数字(分为几个子类型,其中有三个是整型)
整型
布尔型
长整型
浮点型
复数型
字符串
列表
元组
字典
3. 其他内建类型
类型
Null 对象 (None)
文件
集合/固定集合
函数/方法
模块
类
4. 类型对象和 type 类型对象
Python 有一个特殊的类型,被称作 Null 对象或者 NoneType,它只有一个值,那就是 None。它不支持任何运算也没有任何内建方法。None 没有什么有用的属性,它的布尔值总是 False。
5. 布尔值
所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布
尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。
下列对象的布尔值是 False。
None
False (布尔类型)
所有的值为零的数:
0 (整型)
(浮点型)
0L (长整型)
0.0+0.0j (复数)
"" (空字符串)
[] (空列表)
() (空元组)
{} (空字典)
6. 内部类型
代码
帧
跟踪记录
切片
省略
Xrange
7. Python 提供了 is 和 is not运算符来测试两个变量是否指向同一个对象。象下面这样执行一个测试
a is b
这个表达式等价于下面的表达式
id(a) == id(b)
8.整数对象和字符串对象是不可变对象,所以 Python 会很高效的缓存它们。这会造成我们认为 Python 应该创建新对象时,它却没有创建新对象的假象。看下面的例子:
>>> a = 1
>>> id(a)
8402824
>>> b = 1
>>> id(b)
8402824
>>>
>>> c = 1.0
>>> id(c)
8651220
>>> d = 1.0
>>> id(d)
8651204
9. 标准类型内建函数
函数 功能
cmp(obj1, obj2) 比较 obj1 和 obj2, 根据比较结果返回整数 i:
i < 0 if obj1 < obj2
i > 0 if obj1 > obj2
i == 0 if obj1 == obj2
repr(obj) 或 `obj` 返回一个对象的字符串表示
str(obj) 返回对象适合可读性好的字符串表示
type(obj) 得到一个对象的类型,并返回相应的 type 对象
10. str()函数得到的字符串可读性好, 而 repr()函数得到的字符串通常可以用来重新获得该对象, 通常情况下 obj == eval(repr(obj)) 这个等式是成立的.
11. 类型工厂函数
下面这些大家熟悉的工厂函数在老的 Python 版里被称为内建函数:
int(), long(), float(), complex()
str(), unicode(), basestring()
list(), tuple()
type()
以前没有工厂函数的其他类型,现在也都有了工厂函数。除此之外,那些支持新风格的类
的全新的数据类型,也添加了相应的工厂函数。下面列出了这些工厂函数:
dict()
bool()
set(), frozenset()
object()
classmethod()
staticmethod()
super()
property()
file()
12. 如果让我们最啰嗦的描述标准类型,我们也许会称它们是 Python 的“基本内建数据对象原始类型”。
“基本”,是指这些类型都是 Python 提供的标准或核心类型。
“内建”,是由于这些类型是 Python 默认就提供的
“数据”,因为他们用于一般数据存储
“对象”,因为对象是数据和功能的默认抽象
“原始”,因为这些类型提供的是最底层的粒度数据存储
“类型”,因为他们就是数据类型
13. 存储模型
分类 Python 类型
标量/原子类型 数值(所有的数值类型),字符串(全部是文字)
容器类型 列表、元组、字典
14.更新模型
分类 Python 类型
可变类型 列表, 字典
不可变类型 数字、字符串、元组
15.以访问模型为标准的类型分类
访问模型
分类 Python 类型
直接访问 数字
顺序访问 字符串、列表、元组
映射访问 字典
16. 标准类型分类
数据类型 存储模型 更新模型 访问模型
数字 Scalar 不可更改 直接访问
字符串 Scalar 不可更改 顺序访问
列表 Container 可更改 顺序访问
元组 Container 不可更改 顺序访问
字典 Container 可更改 映射访问
17. Python不支持的类型
(1).Python 没有 char 或 byte 类型来保存单一字符或 8 比特整数。你可以使用长度为 1 的字符串表示字符或 8 比特整数。
(2).Python 替你管理内存,因此没有必要访问指针。在 Python 中你可以使用 id()函数得到一个对象的身份号, 这是最接近于指针的地址。 因为你不能控制这个值,所以其实没有太大意义。其实在 Python 中, 一切都是指针。
(3).Python 的普通整数相当于标准整数类型,不需要类似 C 语言中的 int, short, long 这三种整数类型。
(4).Python 的浮点类型实际上是 C 语言的双精度浮点类型。Python 认为同时支持两种浮点类型的好处与支持两种浮点类型带来的开销不成比例,所以 Python 决定不支持单精度浮点数。对那些宁愿放弃更大的取值范围而需要更高精确度的用户来说, Python 还有一种十进制浮点数类型 Decimal, 不过你必须导入 decimal 模块才可以使用它。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于...
Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf Python学习笔记 .pdf ...
Python学习笔记--皮大庆,非常适合零基础入门。对应英文版本《How to think like a computer scientist》
python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python ...
Python学习笔记0001 - 安装与配置Python开发环境 Python学习笔记0002 - 海龟画图 - 初画图形 Python学习笔记0003 - 海龟画图 - 变量 Python学习笔记0004 - 海龟画图 - for循环 Python学习笔记0005 - 海龟画图 - ...
Python基础入门教程,适合Python初学者,文档内容包括, 目录 前言 i 第一章 程序 1 1.1 程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 什么是调试 . . . . . . . . . . . . . . . ....
强烈推荐《How to think like a computer scientist》,对应中文版本《Python学习笔记--皮大庆》,非常适合零基础入门。
Python学习笔记--笔记2
Python学习笔记--皮大庆
《Python Standard Library》学习笔记(原书为 Python2.X 版,在学习的过程中,用 Py
Python基础入门课程-学习笔记.docxPython基础入门课程-学习笔记.docxPython基础入门课程-学习笔记.docxPython基础入门课程-学习笔记.docxPython基础入门课程-学习笔记.docxPython基础入门课程-学习笔记.docxPython...
python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf ...
python学习笔记1——(廖雪峰教程,菜鸟教程)python基础 python学习笔记1——(廖雪峰教程,菜鸟教程) >>> classmates = ['Michael', 'Bob', 'Tracy'] >>> len(classmates) 3 ⽤索引来访问list中每⼀个位置的元素...
Apress.Beginning.Python.From.Novice.to.Professional.Sep.2005.pdf + 皮大庆 学习笔记 两本好书啊
python学习笔记(⼀)---python简介 Python简介 1. Python是⼀种计算机程序设计语⾔。 2. python是⼀种什么样的语⾔? ⾸先,不论我们⽤任何语⾔来开发,都是为了让计算机能够⼲活,⽐如下载⼀个MP3,编写⼀个⽂档等...
Python基础入门课程-学习笔记.pdfPython基础入门课程-学习笔记.pdfPython基础入门课程-学习笔记.pdfPython基础入门课程-学习笔记.pdfPython基础入门课程-学习笔记.pdfPython基础入门课程-学习笔记.pdfPython基础入门...
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
python基础教程--学习笔记
Python学习笔记.pdf