关于python:python的基本数据类型

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) 将一个整数转换为一个八进制字符串

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理