失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 3. Python基础:基本数据类型(九种数据类型)

3. Python基础:基本数据类型(九种数据类型)

时间:2020-05-29 01:30:25

相关推荐

3. Python基础:基本数据类型(九种数据类型)

目录

一、数值类型

1 整数类型

2 浮点数类型

3 复数类型

二、字符串类型

1 字符串类型

2 字节串类型(很少用到)

三、组合类型

1 集合类型:一维数组的集合

2 元组类型(序列)

3 列表类型(序列)

4 字典类型

Python语言包括九种基本的数据类型,我们把它分为以下三类。

一、数值类型

1 整数类型

与数学中的整数含义相同,无取值范围;整数包括二进制、八进制、十进制、十六进制等4种表示形式; 二进制:以0b0B开头:0b1101,-0B10;八进制:以0o0O开头:0o456,-0O789;十进制:123,-321,0;十六进制:以0x0X开头:0x1A,-0X2B。如:0b1010 = 0o12 = 10 = 0xa

代码实例

2 浮点数类型

与数学中的实数含义相同,带有小数及小数的数字,存在取值范围;浮点数包括常规方法和科学计数法2种方式表示;科学计数法使用字母e或E作为幂的符号,以10位基数,格式:<a>e<b> 表示 a*;如:0.0043 = 4.3e-3 ; 98000000.0 = 9.8E7不确定尾数问题:浮点数直接运算,可能产生不确定尾数。不确定尾数问题来源于浮点数在计算机中表示不精确的实际情况,广泛存在于编程语言中。可以使用round()辅助浮点数运算,消除不确定尾数。

代码实例1

print(0.1 + 0.2) # 不确定尾数问题round(x , b):对x四舍五入,d是小数截取位数print(round(0.1 + 0.2,1) # 消除不确定尾数

代码实例2

3 复数类型

与数学中的复数概念相同,定义j=,复数表示为 a+bj;z = a+bj,a是实部,b是虚部,a和b都是浮点数;z.real获得z的实部,z.imag获得z的虚部。

代码实例

二、字符串类型

我们要知道1 和 "1"是两种不同的数据类型,前者是一个数字,可以进行加减乘除的操作,而后者则是个单纯的字符串,也就是常说的文本内容。字符串的一个特点就是在它的两旁有单引号或者双引号。

1 字符串类型

(1)字符串定义

字符串:由0个或多个字符组成的有序字符序列,由一对单引号(' ')或一对双引号(" ")表示,可对字符进行索引,用序号进行访问。表示方法:由一对单引号或双引号表示,仅表示单行字符串;由一对三单引号或三双引号表示,可表示多行字符串。

(2)字符串的序号

代码实例

(3)字符串的使用

使用[ ] 获取字符串中一个或多个字符。字符串索引:s[N] 通过序号获取单个字符。字符串切片:s[M:N] 获取M到N(不含)子串,使用[M: N :K]根据步长对字符串切片,使用[::-1]对字符串进行逆序。其中,M缺失表示至开头,N缺失表示至结尾。

代码实例

(4)字符串处理函数

代码实例

(5)字符串处理方法

代码实例

(6)常用格式字符符号

代码实例

name = input("请输入姓名:")sex = input("请输入性别:")age = input("请输入年龄:")print("你的姓名是%s,性别%s,年龄是%d" % (name, sex, int(age)))

(7)字符串类型的格式化

格式化是字符串处理方法的一种,进行字符串格式的表达。

输入格式<模板字符串>.format(<逗号分割的参数>)

代码实例

a = 3.5b = 2.8c = a + bprint("{:.2f}".format(c))# 保留两位小数>>> 6.30

2 字节串类型(很少用到)

字节串是计算机存储空间的表达;由0个或多个字节组成的有序序列,每字节对应值为0-255;字节串由前导符b或B与一对单引号双引号表示,如:b"a\xf6";0-255间非可打印字符用\xNN方式表示,N是一个十六进制字符。什么时候使用字节串?字节串只有在处理跟内存相关的内容或者我们处理的内容和字节的数量密切相关的时候才用字节串。

三、组合类型

1 集合类型:一维数组的集合

(1)定义

集合:多个元素的无序组合,使用大括号{}表示,元素间用逗号分隔,建立非集合使用{}或set()函数。

基本功能:集合的两个基本功能分别是去重和成员测试。

(2)特点

无序:元素间没有顺序,因此,要求元素不能相同,元素必须是不可变类型。非一致性:元素类型可以不同。无索引:不能对某个元素进行定点索引,可以遍历或随机获取元素。

(3)集合操作符

(4)集合处理方法

(5)代码实例

a = {'丁一', '丁一', '王二', '张三', '李四', '赵五'}print(set(a)) # 通过set()函数可以获得一个集合,集合一个主要特点,就是用来去重>>> {'丁一', '王二', '赵五', '张三', '李四'}

2 元组类型(序列)

Python中的元组与列表类似,是序列类型的一种,不同之处在于元组的元素一旦创建不能修改。元组使用小括号()表示,元素间用逗号分隔,小括号可以省略

(1)元组的定义

元组创建很简单,只需要在括号内添加元素,并使用逗号分开即可,具体代码如下:

tup1 = (36)tup2 = (36,)tup3 = ("hello")tup4 = ("hello",)print("tup1 = (50)的数据类型是:",type(tup1))print("tup2 = (50,)的数据类型是:",type(tup2))print("\ntup3 = (“hello”)的数据类型是:",type(tup3))print("tup4 = (“hello”,)的数据类型是:",type(tup4))

(2) 访问元组中的值

可以使用下标索引来访问元组中的值,也可以使用中括号的形式截取字符,还可以利用for循环语句来遍历元组中的值。具体代码如下:

tup1 = ("book", "desk", "bag", "chair", "dog", "cat", "panda", "sheep")# 使用下标索引来访问元组中的值print("元组中的第二个值,tup1[1]: ", tup1[1])# 使用中括号的形式截取字符print("元组中的第二和第五个值,tup1[1:5]: ", tup1[1:5])# 利用for循环语句来遍历元组中的值print("\n利用for循环语句来遍历元组中的值")for i in tup1:print(i)

(3)元组的连接

元组中的元素是不允许修改的,但可以利用“+”号对元组进行连接组合。具体代码如下:

tup1 = ("张三","王芳","李四")tup2 = ('男', '女',"男")tup3 = (96, 89, 97)tup4 = tup1 + tup2 + tup3 # 创建一个新的元组print("连接元组:", tup4)

(4)元组的删除

元组中的元组是不允许删除的,但我们可以使用del语句来删除整个元组。具体代码如下:

tup = ("张三", "王芳", "李四")print(tup)del tupprint("删除后的元组 tup : ")print(tup)

(5)元组的函数

代码实例

tuple1 = (5, 4, 8, 12, 16, 38, 999, 1562)tuple2 = ("who", "what", "whose", "when")print("元组中元素的最大值:", max(tuple1))print("元组中元素的最小值:", min(tuple1))print("元组中元素的最大值:", max(tuple2))print("元组中元素的最小值:", min(tuple2))print("\n元组中元素的个数:", len(tuple1))print("\n元组中元素的个数:", len(tuple2))print("\n把元组转换成列表,并显示:", list(tuple1))print("把列表为元组,并显示:", tuple(list(tuple1)))

3 列表类型(序列)

我们可以对列表这样去理解, 就把列表当成一个大桶, 当我们有一堆东西需要找个地方临时存放在一起, 以便后续进行排序, 筛选,提取等操作时, 就弄一个列表, 先放进去。

序列类型的一种,元素间的有序组合,类型不限,创建后可以随时被修改列表使用中括号[]表示,元素间用逗号分隔,括号不可省略列表可以将多个数据有序地组织在一起,更方便调用如:ls = ["cat", "tiger", 1024]

(1)常用函数

(2)常用方法

(3)代码实例

创建列表

class1 = ['丁一', '王二', '张三', '李四', '赵五']print(class1)>>> ['丁一', '王二', '张三', '李四', '赵五']

# 列表的元素类型不限list1 = [1, '123', [1, 2, 3]]print(list1)>>> [1, '123', [1, 2, 3]]

遍历列表

class1 = ['丁一', '王二', '张三', '李四', '赵五']for i in class1: # 使用for循环遍历列表print(i)

列表元素计数

# 统计列表的元素个数的函数:len函数class1 = ['丁一', '王二', '张三', '李四', '赵五']a = len(class1)print(a)>>> 5

列表元素调用

class1 = ['丁一', '王二', '张三', '李四', '赵五']a = class1[1] # 调取列表中第二个元素“王二”print(a)>>> 王二

列表切片

# 选取多个列表元素的方法:列表切片class1 = ['丁一', '王二', '张三', '李四', '赵五']a = class1[1:4] # 选取列表中第二个和第四个元素,列表切片左闭右开print(a)>>> ['王二', '张三', '李四']

b = class1[1:] # 选取从第二个元素到最后c = class1[-3:] # 选取从列表倒数第三个元素到最后d = class1[:-2] # 选取倒数第二个元素前的所有元素(因为左闭右开,所以不包含倒数第二个元素)print(b)>>> ['王二', '张三', '李四', '赵五']print(c)>>> ['张三', '李四', '赵五']print(d)>>> ['丁一', '王二', '张三']

增加列表元素

# 列表增加元素的办法:append方法score = []score.append(80)print(score)>>> [80]score = []score.append(80)score.append(90)score.append(70)print(score)>>> [80, 90, 70]

列表转换成字符串

# 列表转换成字符串,这个先了解下即可,很远之后才用的上class1 = ['丁一', '王二', '张三', '李四', '赵五']a = ",".join(class1)print(a)>>> 丁一,王二,张三,李四,赵五

(4)代码实例:数字排序

list1 = []# 定义一个空列表for i in range(8):# 利用for循环向列表中添加数据mynum = int(input("请输入要排序的数字(一共8个数字):"))list1.append(mynum)list1.sort() # 默认为升序print("\n从小到大排序数字:", list1)list1.sort(reverse=True) # 设置排序为降序print("\n从大到小排序数字:", list1)print("\n数字中的最大值:", max(list1))print("数字中的最小值:", min(list1))

4 字典类型

(1) 字典介绍

字典是另一种存储数据的格式。字典的每个元素都由两部分组成(列表的每个元素只有一个部分),前一部分称为键,后一部分称为值,中间用冒号相连。字典类型是键值对的集合,反映了数据之间的映射关系字典使用大括号{}表示,键值间用冒号分隔,键值对间用逗号分隔映射是一种键(索引)和值(数据)的对应;

语法格式

字典名 = {<键1>:<值1>, <键2>:<值2>, ..., <键n>:<值n>}d = {"中国": "北京", "美国": "华盛顿", "法国": "巴黎"}

(2)通过键检索值

(3) 常用方法

(4)代码实例

(5) 遍历字典

字典名["键名"]提取值

# 字典名["键名"]提取值class1 = {'丁一': 85, '王二': 95, '张三': 75, '李四': 65, '赵五': 55}score = class1['王二']print('score:',score)>>> score: 95

遍历字典内容

# 遍历字典内容1class1 = {'丁一': 85, '王二': 95, '张三': 75, '李四': 65, '赵五': 55}for i in class1: # 这个i代表的是字典中的键,也就是丁一、王二麻子等print('class1:',i,class1[i])

# 遍历字典内容2class1 = {'丁一': 85, '王二': 95, '张三': 75, '李四': 65, '赵五': 55}for i in class1: # 这个i代表的是字典中的键,也就是丁一、王二麻子等print(i + ':' + str(class1[i])) # 注意要str把85等数字转换成字符串,才能进行字符串拼接

# 遍历字典内容3class1 = {'丁一': 85, '王二': 95, '张三': 75, '李四': 65, '赵五': 55}a = class1.items()print(a)

删除字典键值对

del class1['丁一'] # 删除字典键值对print(class1)

如果觉得《3. Python基础:基本数据类型(九种数据类型)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。