1、python对象
所有的 Python 对像都拥有三个特性:身份,类型和值
身份:通过 id() 函数得到
类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么 样的规则。您可以用内建函数 type()查看 Python 对象的类型。
值:对象表示的数据项
2、标准类型
1、数字 number
整型(int)、浮点型(float)、复数(complex)
2、字符串 string
3、列表 list
4、元组 tuple
5、字典 dict
6、集合 set
3、其他内建类型
1、可调用类型 callable
可调用类型(Callable)是 Python 中的一个抽象概念,表示可调用的对象,即可以像函数一样调用的对象
判断一个对象是否是可调用类型,可以使用内置函数 callable()
2、迭代器类型 iterator
内置迭代器
Python 内置的迭代器类型包括:
list_iterator:用于迭代列表
tuple_iterator:用于迭代元组
str_iterator:用于迭代字符串
set_iterator:用于迭代集合
dict_keyiterator:用于迭代字典的键
dict_valueiterator:用于迭代字典的值
dict_itemiterator:用于迭代字典的键值对
range_iterator:用于迭代范围内的整数
zip_iterator:用于迭代多个序列的并行元素
map_iterator:用于迭代通过函数映射后的元素
filter_iterator:用于迭代通过函数过滤后的元素
enumerate_iterator:用于迭代序列中的元素及其索引
3、上下文管理器类型 (context manager)上下文管理器类型(Context Manager)是一种可管理资源的对象,它可以定义一些操作在进入和退出上下文时执行
在 Python 中,with语句通常用于处理文件操作、线程锁、网络连接等需要手动管理资源的场景。
在上下文管理器中,通常需要实现__enter__()和__exit__()方法。其中,__enter__()方法用于获取资源或执行相关操作,__exit__()方法则用于释放资源或执行清理操作。当with语句块执行结束时,__exit__()方法会自动被调用,即使在with块内部发生了异常,也会确保资源得到释放。
4、模块类型 module模块和包
5、类型 type
所有类型对象的类型都是 type,它也是所有 Python 类型的根和所有 Python 标准类 的默认元类(metaclass)。
6、Null 对象 (None)
Python 有一个特殊的类型,被称作 Null 对象或者 NoneType,它只有一个值,那就是 None
7、文件 open、file
8、固定集合 frozenset
9、函数/方法 function method
10、类 class
4、内部类型
1、代码对象
代码对象是编译过的 Python 源代码片段,它是可执行对象。通过调用内建函数 compile() 可以得到代码对象。代码对象可以被 exec 命令或 eval()内建函数来执行。
2、帧对象
帧对象表示 Python 的执行栈帧。帧对象包含 Python 解释器在运行时所需要知道的所有信 息。
3、跟踪记录对象
当异常发生时,一个包含针对异常的栈跟踪信息的跟踪记录对象被创建。如果一个异常有 自己的处理程序,处理程序就可以访问这个跟踪记录对象。
4、切片对象
5、省略对象
6、xrange对象
5、标准类型运算符
1、对象值的比较
判断值是否相等 == !=
a = []
b = []
print(a == b)
print(a is b)
2、对象身份的比较
判断id值是否相等 is
3、布尔类型
not and or
6、标准类型内建函数
1、type()
type(object),接收一个对象作为参数,并返回它的类型。它的返回值是一个类型对象。
2、cmp()
Python2中,com(obj1,obj2),用于比较两个对象obj1和obj2,如果obj1小于obj2,则返回一个负整数,如果obj1大于obj2,则返回一个正整数,如果obj1等于obj2,则返回0。
3、str()和 repr() (及 `` 运算符)
内建函数str()和repr()可以方便的以字符串的方式获取对象的内容、类型、数值属性等信息。
str()函数得到的字符串可读性好
repr()函数得到的字符串通常可以用来重新获得该对象
4、type() 和 isinstance()
确认对象的类型
def displayNumType(num): print(num,"is",end=" ") if isinstance(num,(int,float,complex)): print("a number of type:",type(num)) else: print("not a number at all!!")
7、类型工厂函数
Python2.2统一了类型和类,所有的内建类型现在也都是类,在这基础之上,原来的所谓内建转换函数比如int()、type()、list()等,现在都成了工厂函数。也就是说虽然他们看上去有点像函数,实质上他们是类。
下面这些大家熟悉的工厂函数在之前的Python版本中被称为内建函数:
int(),long(), float(), complex()
str(), unicode(), basestring()
list(), tuple()
type()
以前没有工厂函数的其他函数,现在也都有了工厂函数。除此之外,那些支持新式类的全新数据类型,也添加了相应的工厂函数。下面列出了这些工厂函数:
dict()
bool()
set(), frozenset()
object()
classmethod()
staticmethod()
super()
property()
file()
8、标准类型的分类
在此描述一下Python标准类型的分类,也就是所谓的“基本内建数据对象原始类型”:
“基本”是指这些类型都是Python提供的标准或者核心类型;
“内建”是由于这些类型是Python默认就提供的;
“数据”是因为他们用于一般数据存储;
“对象”是因为对象是数据和功能的默认抽象;
“原始”是因为这些类型提供的是最底层的粒度数据存储;
“类型”是因为他们就是数据类型。