Python数值类型与序列类型

发布时间:2024-12-20 22:42

Python基础语法:变量定义和数据类型 #生活知识# #编程教程#

数值类型

#数值类型 整型 int 浮点型 float 复数类型 complex 查看实部与虚部的方法a.real a.imag 布尔类型 bool 12345

使用type函数查看数据类型

#整数类型 a = 3 print(type(a)) 123'

<class 'int'> 1

#浮点数类型 a = 3.0 print(type(a)) 123'

<class 'float'> 1

#复数类型 a = 3 + 3j #python中使用j来表示复数 print(type(a)) 123'

<class 'complex'> 1

#布尔类型 bool a = True print(type(a)) 123'

<class 'bool'> 1

序列类型

字符串类型 str '' /""/''' '''/ 三种表示字符串的方法 列表类型 list [] 元组类型 tuple () 123

#字符串类型 a = 'aaa' print(type(a)) 123'

<class 'str'> 1

#列表类型 列表中的元素放在中括号中,多个元素使用英文逗号分开 #列表中存储的值可以是字符串常量,布尔类型,变量,数值 b = 18 #将18赋值给b a = ['a',True,b,3] print(type(a)) 12345'

<class 'list'> 1

#元组类型 元组中的元素放在小括号中,多个元素之间使用英文逗号分开 #列表中存储的值可以是字符串常量,布尔类型,变量,数值 b = 18 a = ('a',True,b,3) print(type(a)) 12345'

<class 'tuple'> 1

序列索引

序列索引针对python中的str、list、tuple三种序列类型,python中针对序列的索引有正序索引与逆序索引两种,正序索引是从0开始,即序列的第一个元素,的索引值为0,逆序索引是从-1开始,即序列的最后一个元素的索引值为-1,倒数第二个元素的索引值为-2,首先看一下str类型

a = 'abc' print(a[0]) print(a[-3]) 123'

a a 12

print(a[1]) print(a[-2]) 12

b b 12

print(a[2]) print(a[-1]) 12

c c 12

下面是list类型

a = ['a',True,2] print(a[0]) print(a[-3]) 123'

a a 12

print(a[1]) print(a[-2]) 12

True True 12'

print(a[2]) print(a[-1]) 12

2 2 12'

下面是tuple类型

a = ('a',True,2) print(a[0]) print(a[-3]) 123'

a a 12

三种序列类型中list是可变类型,str,tuple是不可变类型,下面来具体看一下什么是可变类型,什么是不可变类型,下面是list类型

#可变类型 list 顾名思义可变类型的元素值是可变的 a = [1,'a',True] print(a[0]) 123'

1 1'

#可以看出列表a的0号元素为整数1,现在对a[0]的值进行修改 并且查看修改后a的情况以及0号元素的值 a[0] = 2 print(a,a[0]) 123

[2, 'a', True] 2 1

再来看一下str类型,不可变类型

a = 'abcd' print(a[0]) 12'

a 1

#可以看出列表a的0号元素为字符,现在对a[0]的值进行修改 a[0] = '高' print(a,a[0]) 123

TypeError Traceback (most recent call last) <ipython-input-4-2e32327f1d67> in <module> 1 #可以看出列表a的0号元素为字符,现在对a[0]的值进行修改 ----> 2 a[0] = '高' 3 print(a,a[0]) TypeError: 'str' object does not support item assignment 12345678

可以看出系统报错,这是因为str是不可变类型,它的元素的值不能够直接修改。

再来看一下tuple,不可变类型

a = ('a',True,2) #首先来查看0号元素的值 print(a[0]) 123'

a 1

#可以看到a的0号元素的值为字符‘a’,然后尝试修改值 a[0] = '高' 12

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-39-389dd72ad690> in <module> 1 #可以看到a的0号元素的值为字符‘a’,然后尝试修改值 ----> 2 a[0] = '高' TypeError: 'tuple' object does not support item assignment 1234567

可以看出系统报错,这是因为tuple是不可变类型,它的元素的值不能够直接修改。此时,若要对元素值进行修改,则需要对数据类型进行强制转换。str类型也一样。

下面示例元组类型与列表类型之间的数据强制转换。

a = ('a',True,2) #现在想要修改0号元素为数字3,但是此时a是tuple类型,并不支持元素值的修改,所以强制转换为list,并赋值给新的变量b b = list(a) #查看b的情况 print(b) 12345'

['a', True, 2] 1'

#此时才可以进行修改 b[0] = 3 print(b[0],b) 123

['a', True, 2] 1'

#此时才可以进行修改 b[0] = 3 print(b[0],b) 123

3 [3, True, 2] 1

但是此时我们所看到的只是表象,事实上a的值并没有被修改,只是系统重新开辟了一份空间存储了一个列表,然后对其值进行修改,现在查看a,b的值和类型

print(a,type(a),b,type(b)) 1

('a', True, 2) <class 'tuple'> [3, True, 2] <class 'list'> 1

对于tuple类型要特别注意当tuple中只有一个元素的情况

#当tuple中只有一个元素时,例如 a = ('b') 12'

此时a的类型并不是tuple,此时默认为str

print(type(a)) 1

<class 'str'> 1

此时要想定义一个只有一个元素的元组,需要在唯一的一个元素后加逗号

a = ('b',) print(type(a)) 12'

<class 'tuple'> 1

对于其他情况,当为一的元素为数字且没有逗号时,它的类型为数字的类型

a = (1) print(type(a)) 12'

<class 'int'> 1

a = (1.0) print(type(a)) 12'

<class 'float'> 1

网址:Python数值类型与序列类型 https://www.yuejiaxmz.com/news/view/528422

相关内容

Python列表
python两个数值互换(浅析a,b=b,a原理)
python知识快速补充4——集合,序列(元组,列表,字符串),字典说它们想一起学
Python中sort和sorted函数用法解析
Python随机函数等
Java中的两种数据类型的转换方式
Python中的生活数据分析与个人健康监测.pptx
(开题)flask框架的二手数码产品回收管理系统(程序+论文+python)
Python 自动化指南(繁琐工作自动化)第二版:四、列表
String类型版本号比较

随便看看