一、数值型
1.1 、整型(int)
在32位机器上,整数的位数为32位,取值范围-231~231-1。
在64位机器上,整数的位数为64位。取值范围-264~264-1。
整形专门用来表示整数,即没有小数部分的数。在 Python 中,整数包括正整数、0 和负整数。
和其他强类型语言不同,它们会提供多种整形类型,开发者要根据数值的大小,分别用不同的整形类型存储,以 C 语言为例,根据数值的大小,开发者要合理选择 short、int、long 整形类型存储,大大增加了开发难度。
Python 则不同,它的整型支持存储各种整数值,无论多大或者多小,Python 都能轻松处理(当所用数值超过计算机自身的计算功能时,Python 会自动转用高精度计算)。
例如:
a = 55
print(a)
a=55555555555555555555
print(a)
print(type(a))
结果:
55
55555555555555555555
<class 'int'>
1.2、浮点型
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:
- 十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
- 科学计数形式:例如 5.12e2(即 5.12×102)、5.12E2(也是 5.12 ×102)。
必须指出的是,只有浮点型数值才可以使用科学计数形式表示。例如 51200 是一个整型值,但 512E2
则是浮点型值
例如:
af1 = 3.14159265
print(af1)
af2 = 3.14
print(type(af2))
f1 = 5.12e2
print(f1)
f2 = 5e3
print(f2)
print(type(f2))
结果:
3.14159265
<class 'float'>
512.0
5000.0
<class 'float'>
1.3、复数
复数是由实数部分和虚数部分组成,一般的形式为x+yj,其中的X 是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
二、布尔值
布尔值只有两种Ture或者Flase
非0和非空的值为Ture,0或空值为Flase
三、字符串
字符串就是一系列数字,在python中,用引号引起来的都是字符串,其中的引号可以是单引号,也可以是双引号
符串或串(String)是由数字、字母、下划线组成的一串字符。
一般记为 :
- s=“a1a2···an”(n>=0)
它是编程语言中表示文本的数据类型。
python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
例如:
str = 'Hello World'
print(str)
print(str[0])
print(str[2:5]) //取头不取尾
print(str[2:])
print(str * 2)
print(str + "TEST")
结果:
Hello World
H
llo
llo World
Hello WorldHello World
Hello WorldTEST
注意:加号(+)是字符串连接运算符,星号(*)是重复操作。
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并
设置为步长为 2(间隔一个位置)来截取字符串:
例如:
str = "abcdefghijk"
print(str[2:10:2])
结果:
cegi
使用方法修改字符串的大小写
例如:
name = "wo men ai shangluo"
print(name.title())
print(name.upper())
print(name.lower())
结果:
Wo Men Ai Shangluo
WO MEN AI SHANGLUO
wo men ai shangluo
字符串拼接:
name = "wo men ai"
name1 = "shangluo"
a = name +" "+ name1
print(a)
wo men ai shangluo
使用制表符或者换行符来添加空白:
print("python \nC")
结果:
python
C
print("python \nC \n\tJava")
结果:
python
C
Java
四、列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 []标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
例如:
list = ['runoob',777,3.14,'anliu',70.2]
tinylist = [123,'john']
print(list)
print(list[0])
print(list[1:3])
print(list[2:])
print(tinylist * 2)
print(list + tinylist)
结果:
['runoob', 777, 3.14, 'anliu', 70.2]
runoob
[777, 3.14]
[3.14, 'anliu', 70.2]
[123, 'john', 123, 'john']
['runoob', 777, 3.14, 'anliu', 70.2, 123, 'john']
增
1、在列表末尾添加元素
names = ["zhangsan","lisi","wanger"]
names.append("mazi")
print(names)
结果:
['zhangsan', 'lisi', 'wanger', 'mazi']
2、在列表中插入元素
names = ["zhangsan","lisi","wanger"]
names.insert(0,"xxx")
print(names)
结果:
['xxx', 'zhangsan', 'lisi', 'wanger']
3、复制
例如:
names = ["zhangsan","lisi","wanger","xx","lisi"]
names2 = names.copy()
print(names)
print(names2)
结果:
['zhangsan', 'lisi', 'wanger', 'xx', 'lisi']
['zhangsan', 'lisi', 'wanger', 'xx', 'lisi']
删
1、使用del语句删除
names = ["zhangsan","lisi","wanger"]
del names[1]
print(names)
结果:
['zhangsan', 'wanger']
2、使用方法pop()删除元素
默认删除最后一个元素
names = ["zhangsan","lisi","wanger"]
names.pop()
print(names)
结果:
['zhangsan', 'lisi']
3、根据值删除元素
names = ["zhangsan","lisi","wanger"]
names[0]="123"
print(names)
结果:
['123', 'lisi', 'wanger']
五、元组
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素
print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2) # 输出元组两次
print(tuple + tinytuple) # 打印组合的元组
结果:
('runoob', 786, 2.23, 'john', 70.2)
runoob
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
元组就其本质而言,就是一个不可变列表,不像列表一样能够修改元素。因此,元组没有修改操作以
为,其他类似于列表。这里不再赘述。
六、字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print(dict['one']) # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
结果:
This is one
This is two
{'name': 'john', 'code': 6734, 'dept': 'sales'}
dict_keys(['name', 'code', 'dept'])
dict_values(['john', 6734, 'sales'])
增,删,改,查:
例如:
info = {
'hebei':"shijiazhuang",
'shanxi':"shangluo",
'henan':"zhumadian"
}
print(info)
print(info["hebei"]) #访问字典值,该方法在键值不存在时报错
print(info.get("hebei")) #该方法在之不存在的时候,返回null
print("hebei" in info) #判断键值是否存在于字典
info["henan"] = "toujingai" #有则修改
print(info)
info["hubei"] = "jinzhou" #无则添加
print(info)#del info 删除字典
info.pop("henan") #删除元素
print(info)
info.popitem() #随机删除print(info)
结果:
{'hebei': 'shijiazhuang', 'shanxi': 'shangluo', 'henan': 'zhumadian'}
shijiazhuang
shijiazhuang
True
{'hebei': 'shijiazhuang', 'shanxi': 'shangluo', 'henan': 'toujingai'}
{'hebei': 'shijiazhuang', 'shanxi': 'shangluo', 'henan': 'toujingai', 'hubei': 'jinzhou'}
{'hebei': 'shijiazhuang', 'shanxi': 'shangluo', 'hubei': 'jinzhou'}
嵌套:
info = {
'1001':{'name':"zhangsan",'身高':"195",'体重':"180"},
'1002':{'name':"lisi",'身高':"179",'体重':"250"},
'1002':{'name':"wangwu",'身高':"180",'体重':"130"}}
print(info)
结果:
{'1001': {'name': 'zhangsan', '身高': '195', '体重': '180'}, '1002': {'name': 'wangwu', '身高': '180', '体重': '130'}}
七、集合
集合:集合是一个无序的,不重复的数据集合,可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
主要作用如下:
(1)去重,把一个列表变成集合,就自动去重了。
(2)关系测试,测试两组数据之间的交集,差集,并集等关系。