Python数据类型

本文详细介绍了Python中的数据类型,包括数值型(整型、浮点型、复数),布尔值,字符串,列表,元组,字典和集合。讨论了各种类型的特点、表示方式以及常用操作,如字符串拼接、列表截取、元组不可变性、字典的增删改查和集合的去重及关系测试功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数值型

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)关系测试,测试两组数据之间的交集,差集,并集等关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值