对象Object在Python中,所有的数据的抽象表现即为对象
每个对象都有3个要素
数据类型
None
一个特殊的对象,可以理解为空对象.其布尔值对应False.
int
bool
float
complex
str
bytes
tuple
list
set
frozenset
dict
对象的创建和引用
如果对象包含其他对象的引用,那么这些对象被称为容器(container),比如tuple,list,dictionary.
虽然一些对象可能是immutable对象,但是其引用了mutable对象,那么当其引用的mutable对象值变动时,会造成这个immutable对象里面的值也会变动的一种样子.
举个例子:比如请假流程是本人提起,上级审核,那么 流程就是本人+上级2个元素,不能变动,但是本人和上级确是可以根据不同的人提出,而发生变动的.张三的请假审核人可能就和李四的请假审核人不一样.
mutable对象和immutable对象会影响到对象的引用,比如immutable对象操作后,可能会返回一个已经存在的对象,但是对于mutable对象,则不会这么做.
对象的回收
python不会显示的去销毁对象,只有当对象在不可访问的时候,通过垃圾回收机制去销毁对象,因此我们无法知道对象何时被回收
使用跟踪或调试功能,会让对象保持活动状态,因此可能不会被垃圾回收,比如使用了try-except语句,那么对象可能就不会被回收.
另外,如果使用了外部资源(比如打开文件),那么通常会提供一个显示的资源释放函数(close)用来释放资源.(因为我们不知道对象何时被回收,如不被回收,对象占用的资源就不会被释放).通常在python中,使用with语句可以解决该问题或者try-finally

1227

被折叠的 条评论
为什么被折叠?



