一. Python对象类型
1. 对象是Python最基本的概念,一个Python程序可以分解为模块、语句、表达式、和对象。它们的关系如下:(1)程序由模块构成
(2)模块包含语句
(3)语句包含表达式
(4)表达式建立并处理对象
2. Python核心数据类型(内置对象)
(1)数字 324,3.1415,992L,3+4j,Decimal
(2)字符串 'string','hello'
(3)列表 [2, [3, 'world'], 4]
(4)字典 {'name': 'bob', 'taste': 'yum'}
(5)元组 (23, 'so', 'kej', 34)
(6)文件 myfile = open('eggs', 'r')
(7)其他类型 None,集合,布尔型
3. 一旦创建了一个对象,它就和操作集合绑定了----只可以对字符串进行字符串相关的操作,对列表进行列表相关的操作。Python是动态类型的(能自动的跟踪数据类型而不是要求声明代码),它也是强类型语言(你只能对一个对象进行有效的操作)。
4. 下面是对以上数据类型的具体介绍:
(1)数字
Python中的数字类型又细分为整数,浮点数,无限精度‘长’整形,有虚部的复数,固定精度的十进制数以及集合等。另外还有一些常用的数学模块:math模块,random模块(数字随机生成和随机选择)等。
(2)字符串
字符串是在Python中作为序列(一个包含其他对象的有序集合)提到的第一个例子。序列中的元素包含了一个从左到右的顺序----序列中的元素根据它们的相对位置进行存储和读取。作为序列,字符串有一些操作,比如可以通过内置函数len来获取其长度,通过索引得到字符串中的各个元素(类似PHP中获取索引数组的元素)。值得注意的是,Python支持反响索引!这里有个规律:一个负的索引与字符串的长度相加,得到的操作是等效的! 另外序列也支持分片(slice)的操作(个人理解类似于PHP中的字符串截取,只不过语法和叫法不同)。分片的基本语法形式是这样的:X[I:J] 表示“取出在X中从偏移为I,直到但不包括J的内容”。在一个切片中,左边界默认为0,右边界默认为分片序列的长度。因此产生了以下的等效结果:
str[1:] ---- str[1:len(str)], str[:3] ---- str[0:3], str[:] ---- 获取整个字符串
作为序列,字符串也支持合并,使用+号可以使两个字符拼接到一块儿,同同时也可以重复,使用*号
注意: 字符串具有不可变性。比如你不能通过对其某一位置进行赋值而改变字符串。但是你可以通过建立一个新的字符串并以同一个变量名对其进行赋值。因为Python在运行过程中会清理旧的对象。
在Python中的每一个对象都可以分为可变性和不可变性。在核心类型中,数字、字符串、和元组是不可变的,列表和字典是可变的。以上的长度获取,元素获取,切片操作等是序列的通用操作,即上面的操作也能用于列表和元组序列。Python中针对每种数据类型都有其特定的方法。这里有一条法则:可作用于多种类型的通用型操作都是以内置函数或表达式的形式出现的(比如,len(X), X[0]),但是类型特定的操作的事以方法调用的形式出现的(比如str.upper())!
要想知道一个对象都有哪些方法,可以使用内置dir函数,比如dir(str)
想要知道每个方法有什么作用可以使用help(str.find)这种形式来获取: