1,Pythons对象特点
从更具体的视角看,Python程序可分解成模块、语句、表达式和对象。程序由模块组成,模块包含语句,语句包含表达式而表达式建立并处理对象。Python提供了强大的对象类型作为语言的组成部分,除非有内置类型无法处理得特殊对象,用户最好总是使用内置对象。Python内置对象类型强大而高效,是一个python程序的核心部分,让编程变得简单。使用内置对象的优点是:
(1)使编程更容易-内置对象往往可以表现问题领域的所有结果,还可以马上使用集合、搜索表等强大的工具,仅使用内置对象类就可以完成许多工作。
(2)内置对象是扩展的组件-对于复杂的任务,用户需提供自己的对象,使用python类或者C语言的接口。但人工实现的对象往往建立在字典和列表这样内置类型的基础上。
(3)内置对象更有效率-Python的内置类型优化了用C实现数据结构的算法,因此性能优于自己构造的数据结构。
(4)内置对象是Python语言标准一部分-Python内置工具是标准、一致的,独创的框架则依赖于实现的环境。
下图是Python提供的核心内置对象类型,另外Python程序处理的每一样东西都是一种对象。Python的类型是动态类型的且是强类型,Python对象没有类型声明,运行的表达式就绝了了python建立和使用的对象类型,对象一旦创建,它就和响应的操作类型绑定了-如对字符只能进行字符串操作。
底层语言中,当对象不在需要时必须小心的释放其占用的对象空间。Python则比较简单,最后一次引用某对象后,该对象占用的内存会被自动清理掉(如通过rev=0,则对象rev之前占用的内存空间即自动释放了)。如此的垃圾回收机制使得用户可以自由的使用对象,而不用为创建或者清理对象空间而担心。
所有的python对象支持比较操作-测试相等性、比较大小等,其比较总是遍历对象的所有部分,知道可以得出结果。过程中首次发现的差值将决定比较结果。
相同的对象类型之间才可以进行“大于、小于等”比较操作,比较特殊的是“==”和“is”,支持不同类型对象间的比较。操作符“==”测试对象内容(包含的元素)是否相同(不一定是同一个对象),操作符“is”则测试两者是否是同一个对象(位于相同的地址空间),如判断两个引用是否指向同一个对象。