Python语言中对象的基本概念:
Python语言中一切都是对象
对象的要素:
身份:
id(),可以被认为是对象的内存地址
类型:
type()
值:
实例中具体的值
对象的值是否可以更改,被成为对象的可变性
标准类型:
数字:
整形;布尔型;长整形;浮点型;复数型
字符串
列表
元组
字典
(NoneType)
None & NoneType
None是一个实例,该实例的类型是NoneType。NoneType只有唯一的值:None
None的布尔值为False
布尔值为False的东西有:
None
False
所有值为0的数:0,0.0,0L,0.0+0.0j
空字符串""
空列表[]
空元组()
空字典{}
对于用户自定义类型,则定义了__nonzero__()或__len__()且值为0
内部类型(略)
标准类型的运算
数字类型和字符串类型:
简单的比较数值 or 字符串比较
比较id:
eg:
a = 1.0; b = 1.0
a == b >>> True #比较值
a) id(a) == id(b) >>> False
b) a is b >>> False
c) a is not b >>> True
注:python通常会缓存[-1, 100]范围内的整数。因此有时候:
a = 1; b = 1; a is b >>> True
布尔类型
使用not and or运算符
标准类型的内建函数
cmp(obj1, obj2):
比较obj1和obj2,如果obj1大于obj2则返回正数,obj1小于obj2返回负数,obj1等于obj2返回0
如果是用户自定义对象,则会调用__cmp__()函数
str()和repr():
都是返回对象的字符串表现形式。
str()返回的字符串对人比较友好,可读性较高
repr()返回的字符串对机器比较友好。repr()返回的字符串经常可以直接用eval()得到原来的对象
isinstance():
用来判断某个对象是否是特定类型的一种
eg:
num = 10
isinstance(num, (int, long, float, complex) )
type()函数:
type(object) : 返回一个对象的类型,返回值为一个Type类型的对象实例
对于Type类型的对象而言,
import types
type(0) == type(1) == ... == types.IntType
并且:
type(0) is types.IntType
Java类比:同一个Java类型的不同实例,有obj1.getClass() == obj2.getClass()
标准类型的分类:
数据类型 存储模型 更新模型 访问模型
数字 Scalar 不可更改 直接访问
字符串 Scalar 不可更改 顺序访问
列表 Container 可更改 顺序访问
元组 Container 不可更改 顺序访问
字典 Container 可更改 映射访问
posted on 2011-03-15 22:15
Antony Lee 阅读(309)
评论(0) 编辑 收藏 所属分类:
Python学习笔记