一、python内置对象
对象类型 | 说明 | 举例 |
数字 | 包括整数、浮点数等。具有不可变性*。 | 1234,3.145,999L,3+4j, Decimal |
字符串 | 具有不可变性:若s='spam',则s[0]='z'将会报错 | 'spam', "guido's" |
列表(list) | 任意类型的对象的位置相关的有序集合。具有可变性**。 | [1, [2, 'three'], 4] |
字典 | 字典记录的是一种映射,通过键来存储和查访问。具有可变性。 | {'food':'spam', 'taste':'yum' |
元组 | 基本上象一个不可以改变的列表。 具有不可变性。 | (1, 'spam', 4, 'U') |
文件 | myfile=open('eggs','r') | |
其他类型 | 集合、类型、None、布尔型 |
字符串、列表和字典都属于序列。有些序列操作是通用的,但方法不通用(字符串的方法只能用于字符串)。若可作用于多种类型的通用型操作都是以内置函数或表达示的形式出现的,如len(X); 若是类型特定的操作是以形式出现的,如aString.upper()。
寻求帮助 可调用内置的dir函数了解某一内置对象类型的所有属性(包括类型的方法)。令s为字符串类型。dir(s)给出的列表中,以双下划线开关并结尾的变量名是用来表示python实现细节的命名模式。没有下划线的属性是字符串对象能够调用的方法。查询这些方法可使用help函数。如:help(s.index)。
*不可变性:指的是对象的内容是不可改变的。数字、字符串和元组具有不可变性。如:
>>>a=2>>>b=a>>>a=a+2 >>>a,b 4,2
因为数字具有不可改变性,a=a+2执行时,python将创建一个新的数字对象,此数字对象的值为4,使用一个名为a的变量指向该对象。变量b指向的对象不变,值仍为2。若某一对象无变量指向它,则Python的垃圾回收机制将立即或在一段时间后,将此对象所占用的空间回收。
**可变性:与不可变性相反,对象的内容可以改变。列表和字典具有可变性。如:
>>>L=[1,'abc',2.4]>>>L1=L>>>L1[0]=2>>>L,L1([2, 'abc', 2.4], [2, 'abc', 2.4])
L1和L都指向同一对象。通过L1将对象内容改变后,通过L访问该对象,可得到改变后的对象的值。