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 world
hellow worl
h
llo
llow world
hellow worldhellow world
hellow worldTEST
Python 应用反斜杠()本义特殊字符,如果你不想让反斜杠产生本义,能够在字符串后面增加一个 r,示意原始字符串:
>>> print('Ru\noob')
Ru
oob
>>> 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) | 将一个整数转换为一个八进制字符串 |
发表回复