python的规范数据类型

python中有六个规范的数据类型

• Number(数字)
• String(字符串)
• List(列表)
• Tuple(元组)
• Set(汇合)
• Dictionary(字典)

python的六个规范数据类型分为不可变数据和可变数据两种

• 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
• 可变数据(3 个):List(列表)、Dictionary(字典)、Set(汇合)。

(1)判断对象的数据类型办法有两个,别离为type()和isinstance()

>>> 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'>>>>a = 111>>> isinstance(a, int)True>>>

type()和isinstance区别就是:

• type()不会认为子类是一种父类类型。
• isinstance()会认为子类是一种父类类型。

留神:在 Python2 中是没有布尔型的,它用数字 0 示意 False,用 1 示意 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们能够和数字相加。

(2)del语句(删除曾经定义的变量)

del语法:

del var1[,var2[,var3[....,varN]]]]

Number(数字)

蕴含:int(整型)、float(浮点型)、bool(布尔型)、complex(复数)

数值运算

>>>5 + 4  # 加法9>>> 4.3 - 2 # 减法2.3>>> 3 * 7  # 乘法21>>> 2 / 4  # 除法,失去一个浮点数0.5>>> 2 // 4 # 除法,失去一个整数0>>> 17 % 3 # 取余 2>>> 2 ** 5 # 乘方32
留神:

• 1、Python能够同时为多个变量赋值,如a, b = 1, 2。
• 2、一个变量能够通过赋值指向不同类型的对象。
• 3、数值的除法蕴含两个运算符:/ 返回一个浮点数,// 返回一个整数。
• 4、在混合计算时,Python会把整型转换成为浮点数。

数字类型实例:

intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3e+18.876j
-0490-90-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2E-124.53e-7j

string(字符串)

Python中的字符串用单引号 ' 或双引号 " 括起来,同时应用反斜杠 \ 本义特殊字符。
加号 + 是字符串的连接符, 星号 * 示意复制以后字符串,紧跟的数字为复制的次数。实例如下:

str = 'hellow world'print (str)          # 输入字符串print (str[0:-1])    # 输入第一个到倒数第二个的所有字符print (str[0])       # 输入字符串第一个字符print (str[2:5])     # 输入从第三个开始到第五个的字符print (str[2:])      # 输入从第三个开始的后的所有字符print (str * 2)      # 输入字符串两次print (str + "TEST") # 连贯字符串

执行以上程序会输入如下后果:

hellow worldhellow worlhllollow worldhellow worldhellow worldhellow worldTEST

Python 应用反斜杠()本义特殊字符,如果你不想让反斜杠产生本义,能够在字符串后面增加一个 r,示意原始字符串:

>>> print('Ru\noob')Ruoob>>> print(r'Ru\noob')Ru\noob>>>
留神:

• 1、反斜杠能够用来本义,应用r能够让反斜杠不产生本义。
• 2、字符串能够用+运算符连贯在一起,用*运算符反复。
• 3、Python中的字符串有两种索引形式,从左往右以0开始,从右往左以-1开始。
• 4、Python中的字符串不能扭转。

List(列表)

List(列表) 是 Python 中应用最频繁的数据类型。

列表能够实现大多数汇合类的数据结构实现。列表中元素的类型能够不雷同,它反对数字,字符串甚至能够蕴含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

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']
留神

• 1、List写在方括号之间,元素用逗号隔开。
• 2、和字符串一样,list能够被索引和切片。
• 3、List能够应用+操作符进行拼接。
• 4、List中的元素是能够扭转的。

Tuple(元组)

元组(tuple)与列表相似,不同之处在于元组的元素不能批改。元组写在小括号 () 里,元素之间用逗号隔开。

元组中的元素类型也能够不雷同:

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )tinytuple = (123, 'runoob') print (tuple)             # 输入残缺元组print (tuple[0])          # 输入元组的第一个元素print (tuple[1:3])        # 输入从第二个元素开始到第三个元素print (tuple[2:])         # 输入从第三个元素开始的所有元素print (tinytuple * 2)     # 输入两次元组print (tuple + tinytuple) # 连贯元组

输入后果如下

('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')

结构蕴含 0 个或 1 个元素的元组比拟非凡,所以有一些额定的语法规定:

tup1 = ()    # 空元组tup2 = (20,) # 一个元素,须要在元素后增加逗号
留神

• 1、与字符串一样,元组的元素不能批改。
• 2、元组也能够被索引和切片,办法一样。
• 3、留神结构蕴含0或1个元素的元组的非凡语法规定。
• 4、元组也能够应用+操作符进行拼接。

Set(汇合)

汇合(set)是一个无序不反复元素的序列。

基本功能是进行成员关系测试和删除反复元素。
能够应用大括号 { } 或者 set() 函数创立汇合,留神:创立一个空集合必须用 set() 而不是 { },因为 { } 是用来创立一个空字典。

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student)   # 输入汇合,反复的元素被主动去掉 # 成员测试if 'Rose' in student :    print('Rose 在汇合中')else :    print('Rose 不在汇合中')  # set能够进行汇合运算a = set('abracadabra')b = set('alacazam') print(a) print(a - b)     # a和b的差集 print(a | b)     # a和b的并集 print(a & b)     # a和b的交加 print(a ^ b)     # a和b中不同时存在的元素

输入后果如下

{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}Rose 在汇合中{'b', 'a', 'c', 'r', 'd'}{'b', 'd', 'r'}{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}{'a', 'c'}{'l', 'r', 'z', 'm', 'b', 'd'}

Dictionary(字典)

字典(dictionary)是Python中另一个十分有用的内置数据类型。

列表是有序的对象汇合,字典是无序的对象汇合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对汇合。
键(key)必须应用不可变类型。
在同一个字典中,键(key)必须是惟一的。

dict = {}dict['one'] = "1 - "dict[2]     = "2 - " tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}  print (dict['one'])       # 输入键为 'one' 的值print (dict[2])           # 输入键为 2 的值print (tinydict)          # 输入残缺的字典print (tinydict.keys())   # 输入所有键print (tinydict.values()) # 输入所有值

输入后果如下

1 - 2 - {'name': 'runoob', 'site': 'www.runoob.com', 'code': 1}dict_keys(['name', 'site', 'code'])dict_values(['runoob', 'www.runoob.com', 1])

另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。

tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}print(tinydict)print(tinydict.keys())print(tinydict.values())tinydict.clear()print(tinydict)

输入后果如下

{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}dict_keys(['name', 'code', 'site'])dict_values(['runoob', 1, 'www.runoob.com']){}
留神

• 1、字典是一种映射类型,它的元素是键值对。
• 2、字典的关键字必须为不可变类型,且不能反复。
• 3、创立空字典应用 { }。

Python数据类型转换

函数形容
int(x [,base])将x转换为一个整数
float(x)将x转换到一个浮点数
complex(real [,imag])创立一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的无效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变汇合
dict(d)创立一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)转换为不可变汇合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串