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会把整型转换成为浮点数。
数字类型实例:
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90 | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2E-12 | 4.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) | 将一个整数转换为一个八进制字符串 |