第4章 python对象(万物皆对象)

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默认就提供的;
“数据”是因为他们用于一般数据存储;
“对象”是因为对象是数据和功能的默认抽象;
“原始”是因为这些类型提供的是最底层的粒度数据存储;
“类型”是因为他们就是数据类型。

9、不支持的类型

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值