Python数据类型及类型转换Python 数据类型及类型转换
⼀、数据类型
Python3 中有六个标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
python菜鸟教程100Set(集合)
Dictionary(字典)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
⼆、数字(Number)
1、概述
Python3 ⽀持 int、float、bool、complex(复数)。
在Python 3⾥,只有⼀种整数类型 int,表⽰为长整型,没有 python2 中的 Long。
像⼤多数语⾔⼀样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以⽤来查询变量所指的对象类型。
>>> a, b, c, d =20,5.5,True,4+3j
>>>print(type(a),type(b),type(c),type(d))
<class'int'><class'float'><class'bool'><class'complex'>
此外还可以⽤ isinstance 来判断:
#实例
\>>> a = 111
\>>> isinstance(a, int)
True
\>>>
isinstance 和 type 的区别在于:
type()不会认为⼦类是⼀种⽗类类型。
isinstance()会认为⼦类是⼀种⽗类类型。
>>>class A:
...pass
...
>>>class B(A):
...pass
...
>>>isinstance(A(), A)
True
>>>type(A())== A
True
>>>isinstance(B(), A)
True
>>>type(B())== A
False
**注意:**在 Python2 中是没有布尔型的,它⽤数字 0 表⽰ False,⽤ 1 表⽰ True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
当你指定⼀个值时,Number 对象就会被创建:
var1 =1
var2 =10
您也可以使⽤del语句删除⼀些对象引⽤。
del语句的语法是:
del var1[,var2[,var3[....,varN]]]
您可以通过使⽤del语句删除单个或多个对象。例如:
del var
del var_a, var_b
2、数值运算
# 实例
\>>>5+4# 加法
9
\>>>4.3-2# 减法
2.3
\>>>3*7# 乘法
21
\>>>2/4# 除法,得到⼀个浮点数
0.5
\>>>2//4# 除法,得到⼀个整数
\>>>17%3# 取余
2
\>>>2**5# 乘⽅
32
注意:
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
2、⼀个变量可以通过赋值指向不同类型的对象。
3、数值的除法包含两个运算符:/ 返回⼀个浮点数,// 返回⼀个整数。
4、在混合计算时,Python会把整型转换成为浮点数。
3、数值类型实例
int float complex
100.0 3.14j
10015.2045.j
-786-21.99.322e-36j
08032.3e+18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2E-12 4.53e-7j
Python还⽀持复数,复数由实数部分和虚数部分构成,可以⽤a + bj,或者complex(a,b)表⽰, 复数的实部a和虚部b都是浮点型
三、String(字符串)
Python中的字符串⽤单引号 ' 或双引号 " 括起来,同时使⽤反斜杠 \ 转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 + 是字符串的连接符, 星号 * 表⽰复制当前字符串,与之结合的数字为复制的次数。实例如下:
# 实例
\#!/usr/bin/python3
str='Runoob'
**print**(str)# 输出字符串
**print**(str[0:-1])# 输出第⼀个到倒数第⼆个的所有字符
**print**(str[0])# 输出字符串第⼀个字符
**print**(str[2:5])# 输出从第三个开始到第五个的字符
**print**(str[2:])# 输出从第三个开始的后的所有字符
**print**(str*2)# 输出字符串两次,也可以写成 print (2 * str)
**print**(str+"TEST")# 连接字符串
执⾏以上程序会输出如下结果:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
Python 使⽤反斜杠 \ 转义特殊字符,如果你不想让反斜杠发⽣转义,可以在字符串前⾯添加⼀个 r,表⽰原始字符串:
\>>>**print**('Ru**\n**oob')
Ru
oob
\>>>**print**(r'Ru**\n**oob')
Ru\noob
\>>>
另外,反斜杠\可以作为续⾏符,表⽰下⼀⾏是上⼀⾏的延续。
注意,Python 没有单独的字符类型,⼀个字符就是长度为1的字符串。
# 实例
\>>> word ='Python'
\>>>**print**(word[0], word[5])
P n
\>>>**print**(word[-1], word[-6])
n P
与 C 字符串不同的是,Python 字符串不能被改变。向⼀个索引位置赋值,⽐如word[0] = 'm'会导致错误。
注意:
1、反斜杠可以⽤来转义,使⽤r可以让反斜杠不发⽣转义。
2、字符串可以⽤+运算符连接在⼀起,⽤*运算符重复。
3、Python中的字符串有两种索引⽅式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。
四、List(列表)
1、概述
List(列表) 是 Python 中使⽤最频繁的数据类型。
列表可以完成⼤多数集合类的数据结构实现。列表中元素的类型可以不相同,它⽀持数字,字符串甚⾄可以包含列表(所谓嵌套)。
列表是写在⽅括号 [] 之间、⽤逗号分隔开的元素列表。
和字符串⼀样,列表同样可以被索引和截取,列表被截取后返回⼀个包含所需元素的新列表。
2、⽤法
列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号+是列表连接运算符,星号*是重复操作。如下实例:
\#!/usr/bin/python3
list=['abcd',786,2.23,'runoob',70.2]
tinylist =[123,'runoob']
**print**(list)# 输出完整列表
**print**(list[0])# 输出列表第⼀个元素
**print**(list[1:3])# 从第⼆个开始输出到第三个元素
**print**(list[2:])# 输出从第三个元素开始的所有元素
**print**(tinylist *2)# 输出两次列表
**print**(list+ tinylist)# 连接列表
以上实例输出结果:
['abcd',786,2.23,'runoob',70.2]
abcd
[786,2.23]
[2.23,'runoob',70.2]
[123,'runoob',123,'runoob']
['abcd',786,2.23,'runoob',70.2,123,'runoob']
与Python字符串不⼀样的是,列表中的元素是可以改变的:
## 实例
\>>> a =[1,2,3,4,5,6]
\>>> a[0]=9
\>>> a[2:5]=[13,14,15]
\>>> a
[9,2,13,14,15,6]
\>>> a[2:5]=[]# 将对应的元素值设置为 []
\>>> a
[9,2,6]
List 内置了有很多⽅法,例如 append()、pop() 等等,这在后⾯会讲到。
注意:
1、List写在⽅括号之间,元素⽤逗号隔开。
2、和字符串⼀样,list可以被索引和切⽚。
3、List可以使⽤+操作符进⾏拼接。
4、List中的元素是可以改变的。
Python 列表截取可以接收第三个参数,参数作⽤是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔⼀个位置)来截取字符串:
如果第三个参数为负数表⽰逆向读取,以下实例⽤于翻转字符串:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论