Python核心编程笔记第四章----Python对象

4.1 Python对象

Python使用对象模型来存储数据。构造任何类型的值都是一个对象。

所有Python对象都有三个特性:身份,类型和值。

身份:每一个对象都有一个唯一的身份标识自己,可以使用内建函数id()来得到对象的内存地址。

类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。使用type内建函数查看对象类型。

值:对象表示的数据项。

上面三个特性在对象创建的时候就被赋值,除了值以外,其他两个特性都是只读的。

Python用句点标识法来访问属性。

4.2标准类型

数字,整型,布尔型,长整型,浮点型,复数型,字符串,列表,元组,字典。

4.3其他内建类型

类型,NULL对象(None),文件,集合/固定集合,函数/方法,模块,类。

通过调用type函数你能够得到特定对象的类型信息。所有类型对象的类型都是type。

NULL对象只有一个值:None,不支持任何运算。布尔值总是False

核心笔记:布尔值

所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小,每个对象天生具有布尔True或False值。空对象,值为0的任何数字或者NULL对象None的布尔值都是False。

4.6 cmp()

内建函数cmp()用于比较两个对象obj1和obj2。如果1小于2,则返回一个负整型,反之返回一个正整型。若相等则返回0.

>>> a, b = 1, 23
>>> cmp(a, b)
-1
>>> cmp(b, a)
1
>>> b = 1
>>> cmp(a, b)
0
>>>
>>> a, b = 'abc', 'xyz'
>>> cmp(a, b)
-1

4.6.1 str()和repr()(及``操作符)

>>> str(123)
'123'
>>>
>>> repr(123)
'123'
>>> `123`
'123'

eval()将字符串str当有效的表达式来求值并返回计算结果。

repr是将字符串转换为合法的表达式,而str则是将字符串转换为更容易让用户理解的形式。

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

isinstance()函数举例

def displayNumType(num):
    print(num, 'is'),
    if isinstance(num, (int, long, float, complex)):
        print('a number of type:' , type(num).__name__)
    else:
        print('not a number at all!')

displayNumType(-69)
displayNumType(999999999999999L)
displayNumType(98.6)
displayNumType(-5.2+1.9j)
displayNumType('xx')

与type相似,用于判定对象类型。

4.8更新模型

一个新的对象被创建,取代了旧对象,新创建的对象被关联到原来的变量名,旧对象被丢弃,可用id查看对象的内存地址发生改变。


你可能感兴趣的:(Python笔记)