目录
1、number(数字类型)
2、int(整型)
在32位机器上,整数的位数是32位,取值范围是-231
231-1,即-2147483648214748364; 在64位系统上,整数的位数为64位,取值范围为-263263-1, 即92233720368547758089223372036854775807。
3、long(长整型)
Python长整型没有指定位宽。
4、float(浮点型)
浮点型也就是带有小数点的数,其精度和机器有关。
5、complex(复数)
Python还支持复数,复数由实数部分和虚数部分构成(如 a+bi)。
6、string(字符串类型)
在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。
注:(什么是unicode?在python中,unicode是内存编码集,一般我们将数据存储到文件时,需要将数据先编码为其他编码集,比如utf-8、gbk等。读取数据的时候再通过同样的编码集进行解码即可。)
(1)python转义字符
转义字符 | 描述 |
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\f | 换页 |
\0yy | 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。 |
\xyy | 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
\r | 回车 |
7、Boolean(布尔值类型)
用于逻辑运算,有两个值:True(真)和False(假)
8、list(列表类型)
列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。
1、列表中的增删改查
(1)添加元素
- append:在末尾添加元素
- insert:在指定位置插入元素
- extend:合并两个列表
#append: #append会把新元素添加到列表末尾 #定义变量A,默认有3个元素 >>>A = ['张三','耀阳','大仙'] >>>print("‐‐‐‐‐添加之前,列表A的数据‐‐‐‐‐A=%s" % A) #提示、并添加元素 >>>temp = input('请输入要添加的学生姓名:') >>>A.append(temp) >>>print("‐‐‐‐‐添加之后,列表A的数据‐‐‐‐‐A=%s" % A) ['张三','耀阳','大仙','A'] #insert: >>>insert(index, object) 在指定位置index前插入元素object >>>strs = ['a','b','m','s'] >>>.strs.insert(3,'h') >>>print(strs) ['a', 'b', 'm', 'h', 's'] extend: 通过extend可以将另一个列表中的元素逐一添加到列表中 >>>a = ['a','b','c'] >>>b = ['d','e','f'] >>>a.extend(b) >>>print(a) ['a', 'b', 'c', 'd', 'e', 'f'] #将 b 添加到 a 里 >>>print(b) ['d','e','f'] #b的内容不变 复制代码
(2)修改元素
通过下表访问列表元素,修改列表是,为指定列表下表赋值就行。
#定义变量A,默认有3个元素 >>>A = ['大仙','狗叫','地位'] >>>print(A) ['大仙','狗叫','地位'] #修改元素 >>>A[0] = '耀阳' >>>print(A) ['耀阳','狗叫','地位'] 复制代码
(3)查找元素
- 查找即查看指定元素是否否存在,使用in(存在就返回true),not in
#待查找的列表 >>>nameList = ['张三','李四','王五'] #获取用户要查找的名字 >>>findName = input('请输入要查找的姓名:') #查找想要的数据是否在列表中 >>>if findName in nameList: >>> print('有') >>>else: >>> print('没有找到,一边去') 请输入要查找的姓名:张三 有 请输入要查找的姓名:耀阳 没有找到,一边去 复制代码
(4)删除元素
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值直接删除
#del #根据下标来来删除列表中的元素(下标从零开始哟) #在爬取的数据中有个别我们不想要的,就可以根据下标删除 >>>movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] >>>print(movieName) ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] >>>del movieName[2] >>>print(movieName) ['加勒比海盗','骇客帝国','指环王','霍比特人','速度与激情'] #pop #pop是删除列表中的最后一个元素 >>>movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] >>>print(movieName) ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] >>>movieName.pop() >>>print(movieName) ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人'] #remove #它是根据元素来删除列表中的数据,如果列表中有多个对应的重复数据,他默的是删除第一个找到的数据 >>>list=[34,1,2,34,2] >>>print(list) [34,1,2,34,2] >>>list.remove(34) >>>print(list) [1,2,34,2] 复制代码
9、tuple(元组类型)
元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。定义只有一个元素的元组,需要在唯一的元素后面写一个逗号。
#元组是不可以修改里面的内容的 >>>a_tuple = (1,2,4,5) >>>a_tuple[3]=5 print(a_tuple) 直接报错 #列表中的元素是可以修改的而元组中的元素是不可以被修改 >>>a_list = [1,2,3,4] >>>print(a_list[0]) >>>a_list[3]=5 >>>print(a_list) [1,2,3,5] #当元组中只有一个元素的时候那么它类型取决于该元素的类型 >>>a_tuple =(5) >>>print(type(a_tuple)) <class 'int'> >>>b_tuple =(5,) >>>print(type(b_tuple)) <class 'tuple'> >>>c_tuple =('5') >>>print(type(c_tuple)) >>><class 'str'> 复制代码
1、元组内置函数,Python元组包含了以下内置函数
序号 | 方法及描述 |
1 | cmp(tuple1, tuple2) 比较两个元组元素。 |
2 | len(tuple) 计算元组元素个数。 |
3 | max(tuple) 返回元组中元素最大值。 |
4 | min(tuple) 返回元组中元素最小值。 |
5 | tuple(seq) 将列表转换为元组。 |
10、dict(字典类型)
字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。
注:(什么是键值对? 键值对问题:键值对(“key = value”),顾名思义,每一个键会对应一个值。举个栗子:身份证号和你本人的绑定关系,在系统中输入身份证号(键)都会对应一个小可爱(值)。咱在登陆微信、游戏或外卖账号时,需要输入手机号验证身份,这时,系统会向该手机号发送一条验证短信。这里的手机号码(键),对应的接收用户就是“值”。每个键对应着相应的值, 当按下相应的键时, 就会输出相应的结果。)
(1)查看元素
- 除了使用key查找数据,还可以使用get来获取数据
>>>info = {'name':'班长','age':18} >>>print(info['age']) # 获取年龄 18 >>>print(info['sex']) # 使用的[]方式获取不存在的key,会发生异常 报错 #不能使用.的方式来访问字典的数据(其他语言可以) >>>print(info.name) 报错 >>>print(info.get('sex')) #使用的()方式 获取不存在的key,获取到空的内容,不会出现异常 None >>>print(info.get('sex','男')) # 获取不存在的key, 可以提供一个默认值,但不会添加到字典中 男 复制代码
(2) 修改元素
- 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
>>>info = {'name':'班长', 'id':100} >>>print('修改之前的字典为 %s:' % info) 修改之前的字典为:{'name':'班长', 'id':100} >>>info['id'] = 200 # 为已存在的键赋值就是修改 >>>print('修改之后的字典为 %s:' % info) 修改之后的字典为:{'name':'班长', 'id':200} 复制代码
(3)添加元素
- 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
>>>info = {'name':'班长'} >>>print('添加之前的字典为:%s' % info) 添加之前的字典为:{'name': '班长'} # 为不存在的键赋值就是添加元素 >>>info['id'] = 100 >>>print('添加之后的字典为:%s' % info) 添加之后的字典为:{'name': '班长', 'id': 100} 复制代码
(4)删除元素- del
#demo:del删除指定的元素 >>>info = {'name':'班长', 'id':100} >>>print('删除前,%s' % info) 删除前,{'name': '班长', 'id': 100} >>>del info['name'] # del 可以通过键删除字典里的指定元素 >>>print('删除后,%s' % info) 删除后,{'id': 100} #del删除整个字典 >>>info = {'name':'monitor', 'id':100} >>>print('删除前,%s'%info) 删除前,{'name': 'monitor', 'id': 100} # del 也可以直接删除变量 >>>del info >>>print('删除后,%s'%info) 直接报错:NameError: name 'info' is not defined 复制代码
- clear:清空字典
>>>info = {'name':'monitor', 'id':100} >>>print('清空前,%s'%info) 清空前,{'name': 'monitor', 'id': 100} >>>info.clear() >>>print('清空后,%s'%info) 清空后,{} 复制代码
(5)字典的遍历
>>>dict={'name':'吴签','sex':'男'} #遍历字典的key键,key是一个变量的名字 我们可以随便取 >>>for key in dict.keys(): >>> print (key) name sex #遍历字典的value值,value是一个变量的名字 我们可以随便取 >>>for value in dict.values(): >>> print (value) 吴签 男 #遍历字典的项(元素)[一组一组拿] >>>for item in dict.items(): >>> print (item) ('name', '吴签') ('sex', '男') #遍历字典的key-value(键值对) >>>for key,value in dict.items(): >>> print (key,value) name 吴签 sex 男 复制代码
**** 查看变量类型( print(type(变量名称)) )
# list 列表 # 应用场景:当获取到多个数据时,我们可以把它储存在列表中,然后直接用列表访问 >>>name_list = ['周杰伦','杨洋'] # tuple 元组 >>>age_tuple = (13,14,18,19) # dict 字典 # 应用场景:scrapy框架使用 # 格式:变量名字={'key':'value',……} key :关键字 vaule:值 >>>person = {'name':'七七','age':'18'} >>>print(type(person)) <class 'dict'> 复制代码
11、集合
集合是无序的、不重复的数据集合,它本身是可变的,但里面的元素是不可变类型(这里要注意,即使是含有列表的元组也不可以,必须是完全不可变类型)
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} >>> print(basket) # 这里演示的是去重功能 {'orange', 'banana', 'pear', 'apple'} >>> 'orange' in basket # 快速判断元素是否在集合内 True >>> 'crabgrass' in basket False >>> # 下面展示两个集合间的运算. ... >>> a = set('abracadabra') >>> b = set('alacazam') >>> a {'a', 'r', 'b', 'c', 'd'} >>> a - b # 集合a中包含而集合b中不包含的元素 {'r', 'd', 'b'} >>> a | b # 集合a或b中包含的所有元素 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # 集合a和b中都包含了的元素 {'a', 'c'} >>> a ^ b # 不同时包含于a和b的元素 {'r', 'd', 'b', 'm', 'z', 'l'} 复制代码
集合内置方法完整列表
二、切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长],也可以简化使用[起始:结束]
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。(遵循左闭右开,取左不取右)
#索引是通过下标取某一个元素
#切片是通过下标删去某一段元素
s = 'Hello World!' print(s)
print(s[4]) #o字符串里的第4个元素
print(s[3:7]) #low包含下标3,不含下标7
print(s[1:]) #ello World!从下标为1开始,取出后面所有的元素(没有结束位)
print(s[:4]) #Hell 从起始位置开始,取到下标为4的前一个元素(不包括结束位本身)
print(s[1:5:2])# el 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)
作者:在下周周ovo
链接:https://juejin.cn/post/7148402397893623821
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。