Python数值类型与序列类型
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类型版本号比较