【Python】python数据类型
Python3中有6个标准的数据类型:Number、String、List、Tuple、Sets、Dictionary。(List和Tuple均属于序列结构)
1.Number
python的Number中包含常用的数字类型如下:
int(带符号)
float(可使用科学计数法)
bool(True/False)
long
complex(复数,实部+虚部,虚部以j或J结尾,可通过 complex(实部,虚部) 函数构建)
此外,python还允许将十进制整型表示为二进制数、八进制数、十六进制数。type()函数可以查询变量类型。
a, b, c, d = 10, 2.5, True, 4+3j complexNum = complex(5, 6) print(a, b, c, d, complexNum, type(complexNum))
2.String
2.1 单引号和双引号
表示字符串时,单双引号可以互换,同时可以互相嵌套(即可以以字符的形式出现在其中)。
String1 = 'ada' String2 = "adad" String3 = 'adad"dada' String4 = "adadad'adad" print(String1) print(String2) print(String3) print(String4)
2.2 三引号
三引号通常用来表示多行字符串,也被称为块字符,在显示时,字符串中的各种控制字符以转义字符显示。
String5 = '''ada\ndad adadad adad dadada''' print(String5)
2.3 转义字符
python使用反斜杠\来转义字符,常见转义字符如下:
2.4 带r或R前缀的Raw字符串
r字符串一般用于解析含有转义字符的文件路径,当文件路径中含有\t、\f等转义字符时,如直接使用,python会将其进行转义成对应的字符,我们就找不到正确的路径,这时我们可以用r/R来对文件路径进行处理,举例如下:
# 不加r的文件路径 print("d:\dad\dada\f\a") # 加r的文件路径 print(r"d:\dad\dada\f\a")
2.5字符串操作
(1)字符串可以用 + 连接,或者用 * 重复字符串
# 字符串连接 print("str1" + "str2") # 字符串加倍 print("strTime" * 2)
(2)python字符串索引有两种方式,一种是从前往后,从0开始增大;另一种是从后往前,从-1开始减小
str = "testStr" # 字符串索引:从0开始增大 print(str[0], str[6]) # 字符串索引:从-1开始减小 print(str[-1], str[-3])
(3)对字符串进行切片,即获取子串,格式:str[索引1:索引2],截取范围是索引的前包后不包
# 字符串切片 print(str[0:4]) print(str[-5:-1])
3.列表
列表是一个没有固定长度,用来表示任意类型对象间位置关系的有序集合,其中的每个元素都有一个自己的位置,被称作索引,从0开始,依次增大
3.1 列表相关操作
(1)创建列表
创建列表,只需要把元素放在方括号中即可
# 列表创建 list1 = ["str1", "str2", "str3", 1, 'a'] print(list1)
(2)访问列表
访问列表元素可以通过下标索引直接访问,也可以通过切片进行访问
# 访问列表元素 print(list1[0], list1[3]) print(list1[1:3])
(3)元素赋值
列表元素赋值有两种方法:列表整体赋值、单个元素赋值
# 列表元素赋值 list2 = [1, 3, 5, 7] print(list2) # 单个元素赋值 list2[2] = 9 print(list2)
(4)元素删除
列表使用del语句对元素进行删除
# 列表元素删除 print(list2) del list2[1] print(list2)
3.2 列表常用方法
初始列表为list3,如下
list3 = [1, 2, 3, 4, 5, 6, 6]
(1)append()
append()方法用于在列表末尾追加新的元素
# append()方法 list3.append(7) print(list3)
(2)count()
count()方法可以用来统计列表中某个元素出现的次数,元素包括数字、字母、字符串、列表
# count()方法 print(list3.count(6))
(3)extend()
extend()方法可以在列表末尾一次性追加一个新的序列中的值。与序列的连接操作不同,extend()方法直接修改了被扩展的列表
# extend()方法 extendList = [9, 10] list3.extend(extendList)
(4)insert()
insert()方法可以在指定位置上添加新的元素
# insert()方法 list3.insert(3, 0) print(list3)
(5)reverse()
reverse()方法可以实现列表的反向存放
# reverse()方法 list3.reverse() print(list3)
(6)remove()
remove()方法用于删除列表中某个元素的第一个匹配项
# remove()方法 list3.remove(6) print(list3)
(7)sort()
sort()方法可以将列表中元素升序排列
# sort()方法 list3.sort() print(list3)
(8)cmp()
cmp()用于比较两个列表的元素,比较方法如下:
若两个元素类型相同,则比较其值,返回结果
若两个元素类型不同,则检查它们是否是数字
是数字,执行必要的数字强制类型转换,然后比较
有一方是数字,则另一方元素大(数字最小)
否则,通过类型名字的字母顺序进行比较
若有一个列表先到头,则另一个长的列表大
若用尽两个列表元素且所有元素相等,返回0
4.元组
元组与列表非常相似,唯一不同的是元组一经定义,其内容就不能修改。
元组内的元素可以是不同类型的数据,包括字符串、数字、元组
4.1 元组的创建
(1)直接用逗号隔开
>>>1, 2, 3
(1, 2, 3)
(2)括号加逗号
# 元组创建 te1 = (1, 2, 3) print(te1)
(3)tuple()函数
tuple()函数将一个序列作为参数,并将其转换成元组;
如果参数本身就是元组,则会原样返回;
如果参数是字符串,则会将字符串中的每个字符作为元组的每个元素
# tuple()函数 te2 = tuple((2, 3, 4)) print(te2) te3 = tuple([3, 4, 5]) print(te3) te4 = tuple("abcd") print(te4)
4.2 元组的基本操作
元组的操作主要是创建与访问,其余操作与列表类似。
(1)元素访问
# 元组元素访问 te5 = (1, 6, 2, 7) print(te5[1])
(2)元素排序
元组内的元素一经创建就无法改变,因此如要对其进行排序,需要先将其转换成list,通过列表的sort()方法进行排序,再通过tuple()方法将list转换成元组,如下
# 元组排序 te6 = (1, 6, 2, 7) tmpList = list(te6) tmpList.sort() te6 = tuple(tmpList) print(te6)
5.字典
字典是python中唯一内建的映射类型,可以通过顺序的阅读实现对字典元素的遍历,也可以通过对某个字典元素的键进行搜索而找到该字典元素的值
5.1 字典相关操作
(1)dict()函数
dict()方法实现利用其它映射或者序列建立新的字典
1 2 | te1 = [( 'name' , 'Damon' ),( 'sex' , 'man' )] te = dict (te1) |
(2)clear()函数
clear()方法用来清除字典中的所有字典元素,无返回值
1 2 3 4 | te = {} te[ 'name' ] = 'Oamon' te[ 'sex' ] = 'man' te.clear() |
(3)pop()函数
pop()方法可以获得对应于给定键的值,然后将这个“键值对”删除
1 2 | te = { 'x' : 1 , 'y' : 2 , 'z' : 3 } te = pop( 'y' ) |
(4)get()函数
get()函数可以获得对应给定键的值,当没有是返回None
1 2 | te = { 'x' : 1 , 'y' : 2 , 'z' : 3 } te.get( 'y' ) |
(5)values()函数
values()方法以列表的形式返回字典中的值,与返回值的序列不同,返回的列表可以包含重复的元素
1 2 3 4 5 6 | d = {} d[ 1 ] = 1 d[ 2 ] = 2 d[ 3 ] = 3 d[ 4 ] = 4 d.values() |
(6)update()函数
update()可以将两个字典合并,得到新的字典,值得注意的是,当两个字典中有相同的键时,会进行覆盖
1 2 3 | te1 = { 'name' : '小明' , 'sex' : '男' } te2 = { 'name' : 'Damon' , 'call' : '12345678910' } te1.update(te2) |
6.集合
与前面的两种数据结构不同,set对象是由一种无序元素组成,分为可变集合set和不可变集合Frozenset。不可变集合是可哈希的,可以当作字典的键
6.1 集合相关操作
(1)set()函数
创建可变集合使用set()方法,创建不可变但可哈希集合使用frozenset()方法
1 2 | te1 = set ( 'python' ) te2 = frozenset ( 'python' ) |
(2)add()函数
add()方法可以添加集合元素
1 2 | te = set ( 'python' ) te.add( 'add' ) |
(3)update()函数
update()方法可以将另一个集合添加到指定集合中
1 2 3 | te1 = set ([ 1 , 2 , 3 ]) te2 = set ([ 4 , 5 , 6 ]) te1.update(te2) |
(4)remove()函数
remove()方法可以删除指定集合元素
1 2 | te = set ( 'python' ) te.remove( 'y' ) |
(5)clear()函数
clear()函数可以删除全部元素
1 2 | te = set ( 'python' ) te.clear() |
作者:AirCL
出处:https://www.cnblogs.com/AirCL/p/16718501.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本