基础数据类型
数字(number)
整数(int,long):整数在3版本没有大小长度分别,内存决定整数最大长度 浮点数(float):具有小数点的数,无穷小数会做精度处理 布尔(bool):非空非0为真,0或空为假 复数(complex):复数的标志为虚部以大写 "J" 或小写 "j" 结尾
>>> a = 1 #int
>>> a = 1.5 #float
>>> a = True #bool
>>> a = 2+3j #complex
字符串(str)
-
表示方式:使用单引号 'abc' ; 双引号 "abc" ; 或者这样 '''abc''' , """abc""",单个字符也称作字符串
-
索引:str[index] 使用index选择访问位置,索引从左向右,从0开始,从右向左,从-1开始 - index 也是我们经常称呼的下标,下标值不可大于等于字符串最大长度
-
切片:str[start:stop:[step…]] ,切片可以获取字符串上一定区间中的值
- 从
start开始,取到stop为止数据,步长为step - 注意:切片取值左闭右开,不取
stop索引位置的值
- 从
-
字符串其中的内容不可变,字符串为不可变数据对象
>>> mystr = '' #创建空字符串
>>> mystr = "a" #单个字符同样为字符串
>>> mystr = 'abcdefg'
>>> mystr[0] #索引值为正时,顺序从左向右取对应位置数据
'a'
>>> mystr[-1] #索引值为负时,顺序从右边向左取对应位置数据
'g'
>>> mystr[:] #未给出开始,结束索引;选择整个列表范围内的值
'abcdefg'
>>> mystr[:2] #切片选择0-2范围内的值,不包含索引为2的值
'ab'
>>> mystr[-3:] #切片选择从-3到最后位置的值
'efg'
>>> mystr[0:4:2] #切片选择取索引0-4范围内的值(不包含索引4),并且步长为2
'ac'
>>> mystr[::-1] #切片选择整个索引范围内的值,步长为负值时,为逆序
'gfedcba'
>>> mystr[0] = 1 #当对字符串数据对象进行值修改,报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
列表(list)
- 列表(list)是使用最频繁的数据之一
- 表示方式:使用中括号,逗号分隔每个数据元素:[ 'a', 'b' , 'c' ]
- 列表同样可以支持索引和切片操作
- 列表为可变数据对象,列表中的数据可以被修改
- 可以创建一个空列表,或者只有一个元素的列表
>>> mylist = [] #创建空列表
>>> mylist = [1,2,3,4]
>>> mylist[0] #索引值为正时,顺序从左向右取对应位置数据
1
>>> mylist[-1] #索引值为负时,顺序从右边向左取对应位置数据
4
>>> mylist[:] #未给出开始,结束索引;选择整个列表范围内的值
[1,2,3,4]
>>> mylist[:2] #切片选择0-2范围内的值,不包含索引为2的值
[1,2]
>>> mylist[-3:] #切片选择从-3到最后位置的值
[2,3,4]
>>> mylist[0:4:2] #切片选择取索引0-4范围内的值(不包含索引4),并且步长为2
[1,3]
>>> mylist[::-1] #切片选择整个索引范围内的值,步长为负值时,为逆序
[4,3,2,1]
>>> mylist[0] = 'a' #修改列表第一个位置上的值为字母'a'
>>> mylist
['a',2,3,4]#列表为可变数据对象
元组(tuple)
- 元组和列表类似,不同之处在于元组内数据不可以被修改
- 表示方式:使用小括号,逗号分隔每个数据元素:( 'a', 'b', 'c' )
- 元组同样索引和切片操作
- 元组中的数据不可以被修改,元组为不可变数据对象
- 单纯的创建一个只含有一个元素的元组是会被解释器认为是一个实际数据对象,并不解释成元组
- 创建只含有一个元素的元组:(1,)
>>> mytuple = (1,) #正确方式创建只含有一个数据的元组
>>> mytuple
(1,)#返回值为元组
>>> mytuple = (1) #错误方式创建只含有一个数据的元组
1#返回值为整型
>>> mytuple = (1, 2, 3, 4, 5)
>>> mytuple[0]
1
>>> mytuple[-1] #索引值为负时,顺序从右边向左取对应位置数据
4
>>> mytuple[:] #未给出开始,结束索引;选择整个列表范围内的值
(1, 2, 3, 4, 5)
>>> mytuple[:2] #切片选择0-2范围内的值,不包含索引为2的值
(1, 2)
>>> mytuple[-3:] #切片选择从-3到最后位置的值
(3, 4, 5)
>>> mytuple[0:4:2] #切片选择取索引0-4范围内的值(不包含索引4),并且步长为2
(1, 3)
>>> mytuple[::-1] #切片选择整个索引范围内的值,步长为负值时,为逆序
(5, 4, 3, 2, 1)
>>> mytuple[0] = 'a' #当对元组数据对象进行值修改,报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment