您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python数据类型最全知识总结

51自学网 2021-10-30 22:35:58
  python
这篇教程Python数据类型最全知识总结写得很实用,希望能帮到您。

一、什么是数据类型

其实可以明白数据类型指的就是变量值的不同类型,姓名可能是一种数据类型、年龄可能是一种数据类型、爱好可能又是另一种数据类型

二、字符串类型

字符串类型所表示的数据是常量,它是一种不可变数据类型

如何表示

str = 'zhangsan'str = "zhangsan"str = '''zhangsan''' # 可以实现换行str = """zhangsan""" # 可以实现换行str = r'zhangsan/n'  # r可以取消转移字符的功能

相关方法

在这里插入图片描述

举例:

find('str')      # 找不到为-1index('str')     # 找不到报错isalnum('str')   # 由字母或数字组成isspace('str')   # 由空格组成split('str')     # 分割之后是列表rsplit('str',2)  # 当分割次数有限制时与split有区别partition('str') # 分割之后是三元组capitalize()     # 字符串首字母大写title()          # 每个单词首字母大写ljust()          # 左对齐加空格

取值与切片操作

str = '123456789‘# 下标取值str[0] # 1str[-1] # 9# 切片语法 m[start, end, step]str[1:3]    # 23str[3:1]    # 空str[0:]     # 123456789str[:3]     # 123str[::]     # 123456789str[::-1]   # 987654321str[0:4:1]  # 1234str[0:4:2]  # 13str[0:4:0]  # 报错str[0:4:-1] # 空str[4:0:-1] # 5432str[-3:-1]    # 78str[-1:-3]    # 空str[-3:-1:-1] # 空str[-3:-1:1]  # 78str[-1:-3:-1] # 98str[-1:-3:1]  # 空

编码与解码操作

chr(65)                # 编码转为字符ord('我')              # 字符转为编码'str'.encode('utf-8')  # 将字符串转编码'str'.decode('utf-8')  # 将字符串转解码

格式化输出操作

普通格式化

%s(字符串)、 %d(整形)、 %f(浮点型)、 %%(%)、 %x(十六进制)、 %X(十六进制)name = 'zhangsan'age = 18print('姓名:', name, ',年龄:', age, sep='')print('姓名:%s,年龄:%d' %(name,age))————————————————版权声明:本文为CSDN博主「ProChick」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_45747519/article/details/117379242

format格式化

# 默认print('姓名{},年龄{}'.format('张三',18))# 下标赋值print('姓名{1},年龄{0}'.format(18,'张三'))# 变量名赋值print('姓名{name},年龄{age}'.format(name='zhangsan',age=18))# 列表赋值list = ['zhangsan',18]print('姓名{},年龄{}'.format(*list))# 字典赋值dict = {"name":'zhangsan',"age":18}print('姓名{name},年龄{age}'.format(**dict))

三、列表类型

列表类型所代表的数据元素有序且可以重复、可以修改

如何表示

mylist = ['张三',18]mylist = list( ('zhangsan',18) ) # 将可迭代对象转化为列表

相关方法

添加元素

list = [1,2,3]# 追加list.append(4)     # [1,2,3,4]# 插入list.insert(0,0)   # [0,1,2,3,4]

修改元素

list = [1,2,3]# 修改指定位置元素list[0] = 0    # [0,2,3]list[2] = 0    # [0,2,0]

删除元素

list = [1,2,3,4,5,6]# 删除最后一个list.pop()         # [1,2,3,4,5]# 删除指定位置list.pop(0)        # [2,3,4,5]# 删除指定元素list.remove(2)     # [3,4,5]# 清空list.clear()       # []

查询元素

list = [1, 2, 3, 2, 1]# 查找元素位置list.index(1)    # 0# 查找元素个数list.count(1)    # 2

合并列表

list1 = [1,2,3]list2 = [4,5,6]# 合并list1.extend(list2) # [1,2,3,4,5,6]print(list1+list2)  # [1,2,3,4,5,6]

排序

list = [2, 3, 1]# 正序list.sort()                                 # [1,2,3]# 产生新对象并正序new_list = sorted(list)                     # [1,2,3]# 倒序list.sort(reverse=True)                     # [3,2,1]# 倒序list.reverse()                              # [3,2,1]# 自定义排序规则(一般用于字典类型的比较)list = [    {'name':'zhangsan',age:18},    {'name':'lisi',age:20},    {'name':'wangwu',age:19}]list.sort(key = lambda item : item['age'])

拷贝

list = [1, 2, 3]# 是浅拷贝new_list = list.copy() # [1, 2, 3]

嵌套

# 相当于二维数组list = [[1,2],[3,4],[5,6]]

推导式

list = [i for i in range(1,3)] # [1,2]list = [(i,j) for i in range(1,3) for j in range(1)] # [(1,0),(2,0)]

四、元组类型

元组类型所表示的数据元素有序且可以重复,但不可以修改

如何表示

# 表示多个元素tuple = (1,2,'3') # 表示1个元素tuple = (True,)

相关方法

查询元素

tuple = (1,True,'3',True)tuple.index(0)    # 1tuple.count(True) # 2

合并

tuple1 = (1,2)tuple2 = (True,False)print(tuple1+tuple2) # (1,2,True,False)

五、字典类型

字典类型所表示的数据元素无序,Key不可以重复(只能是不可变数据类型),Value可以修改(可以为任意数据类型)

如何表示

student = {"name":'zhangsan',"age":20} 

相关方法

查询元素

student = {"name":'zhangsan',"age":20} print(student["age"])          # 20print(student["birth"])        # 报错print(student.get("age"))      # 20print(student.get("birth"))    # Noneprint(student.get("birth",'2000-10-10'))    # 2000-10-10d# 获取所有Keyprint(student.keys())          # ['name','age']# 获取所有Valueprint(student.values())        # ['zhangsan',20]# 获取所有Key-Valueprint(student.items())         # [('name':'zhangsan'),('age':20)]

添加、修改元素

student = {"name":'zhangsan',"age":20} student["name"] = 'lisi'print(student) # student = {"name":'lisi',"age":20} student["sex"] = '男'print(student) # student = {"name":'lisi',"age":20,"sex":'男'} 

删除元素

student = {"name":'zhangsan',"age":20} # 删除Key-Value,返回Valueresult = student.pop("name")print(student) # student = {"age":20} print(result)  # zhangsan # 删除Key-Value,返回Key-Valueresult = student.popitem("name")print(student) # student = {"age":20} print(result)  # ('name','zhangsan') # 清空student.clear()print(result)  # {}

合并

student = {"name":'zhangsan',"age":20} student_add = {"sex":'男'}student.update(student_add)print(student) # {"name":'zhangsan',"age":20,"sex":'男'} 

推导式

student = {"name":'zhangsan',"age":20} student_reverse = {v:k for k,v in student.items()}print(student_reverse) # {"zhangsan":'name',"20":age}

六、集合类型

集合类型所表示的数据元素无序且不可以重复,不可以修改

如何表示

# 有元素的集合set = {1,'我',True} # 空集合set()

相关方法

添加元素

set = {1,'我',True} set.add('zhangsan')print(set)             # {1,'我',True,'zhangsan'} 

删除元素

set = {1,'我',True} # 随机删除一个元素set.pop()print(set)             # {'我',True} # 删除指定元素set.remove('True')print(set)             # {1,'我'} # 清空set.clear()print(set)             # set() 

合并

set = {1,'我',True} # 两个集合合并后产生新的集合new_set = set.union( {True,False} ) print(new_set)                       # {1,'我',True,False} # 将一个可迭代对象合并到原有集合中set.update(['False'])print(set)                           # {1,'我',True,'False'} 

运算

set1 = {1,2,3} set2 = {3,4,5}# 差集print(set1 - ste2)  # {1,2}print(set2 - ste1)  # {4,5}# 交集print(set1 & ste2)  # {3}# 并集print(set1 | ste2)  # {1,2,3,4,5}# 差并集print(set1 ^ ste2)  # {1,2,4,5}

七、五种数据类型所支持的运算符比较

在这里插入图片描述

八、数据的序列化和反序列化

序列化操作

将数据从内存持久化保存到硬盘的过程

----(将数据转化为字符串)----import jsonlist = ['name','age','city']file = open('test.txt','w',encoding='utf8')file.write(repr(list))       # 第一种方式file.write(str(list))        # 第二种方式file.write(json.dumps(list)) # 第三种方式json.dump(list,file)         # 第四种方式file.close()
----(将数据转化为二进制)----import picklelist = ['name','age','city']file = open('test.txt','wb',encoding='utf8')file.write(pickle.dumps(list)) # 第一种方式pickle.dump(list,file)         # 第二种方式file.close()

反序列化操作

将数据从硬盘加载到内存的过程

# test.txt["name","age","city"]
----(将字符串转化为数据)----import jsonfile = open('test.txt','r',encoding='utf8')list1 = json.load(file)               # 第一种方式print(list1) # ['name','age','city']list2 = json.loads(file.read())       # 第二种方式print(list2) # ['name','age','city']file.close()
----(将二进制转化为数据)----import picklefile = open('test.txt','rb',encoding='utf8')list1 = pickle.loads(file.read())       # 第一种方式print(list1) # ['name','age','city']list2 = pickle.load(file)               # 第二种方式print(list2) # ['name','age','city']file.close()

到此这篇关于Python数据类型最全知识总结的文章就介绍到这了,更多相关Python数据类型内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


教你怎么用Python操作MySql数据库
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。