Python数据类型

数据类型

一种编程语言所支持的数据类型决定了该编程语言所能保存的数据python

Python语言经常使用的内置数据类型

一、Number(数字)

二、序列类型

2.1 String(字符串)

2.2 List(列表)

2.3 Tuple(元组)

三、Set(集合)

四、Dictionary(字典)web

一、数字类型

Python中有3种不一样的数字类型:int(整型)、float(浮点型)、complex(复数类型)。编程

1.1 整型:包括正整数、0和负整数,不带小数点,没有大小限制。

不一样进制的整数表示:

没有前缀:十进制整数;

前缀0o:八进制整数;

前缀0x:十六进制整数。app

Boolean(布尔)类型:True(逻辑真)和False(逻辑假),Boolean类型是整型的子类型,在做为数字参与运算时,False自动转为0,True自动转为1。编程语言

1.2 浮点型:能够用来表示实数。

3.25e3:科学计数法表示数,3.25乘以10的3次幂。svg

1.3 复数类型:实部和虚部都是一个浮点数。

表示方法:a+bj或a+bJ;

生成复数时,也可使用complex函数:函数

complex([real[,imag]])

#real为实部值,image是虚部值,返回值为real+image*j

若是省略虚部imag的值,返回的复数为real+0j;若是实部和虚部值都省略,返回的复数为0j。ui

1.4 数值运算函数编码

函数及使用

说明

abs(x)

绝对值,x的绝对值

divmod(x,y)

商余,(x//y,x%y),同时输出商和余数,divmod(10, 3结果为(3,1)

pow(x, y[, z])

幂余,(x**y)%z,z能够省略

round(x[,d])

四舍五入,d是保留小数位数,默认值是0

max(x1, x2,…,xn)

最大值,返回x1,x2,…,xn中的最大值,n不限

min(x1, x2,…,xn)

最大值,返回x1,x2,…,xn中的最小值,n不限

二、序列类型

序列是具备前后关系的一组元素,序列是一维元素向量,元素类型能够不一样,元素间由序号引导,经过下标访问序列的特定元素。spa

序列操做符

操做符

说明

x in s

若是x是序列s的元素,返回True,不然返回False

x not in s

若是x是序列s的元素,返回False,不然返回True

s + t

链接两个序列s和t

s * n或n*s

将序列s复制n次

Python中序列:

正向递增序列:从0开始依次增加

反向递减序列:从-1开始依次减小

索引(s[i]):返回s中的第i个元素,i是序列的序号,支持从前向后索引和从后向前索引;

切片(s[i: j[: k]]):返回s中第i到j以k为步长的元素子序列。

序列操做函数

函数

说明

len(s)

返回序列s的长度

min(s)

返回序列s的最小元素,s中元素须要可比较

max(s)

返回序列s的最大元素,s中元素须要可比较

s.index(x)或s.index(x, i, j)

返回序列s从i开始到j位置中第一次出现元素x的位置

s.count(x)

返回序列s中出现x的总次数

2.一、字符串类型

Python语言中只有保存字符串的String类型,而没有用于保存单个字符的数据类型。

字符串类型的表示方法:字符串能够写在一对单引号(‘str’)中,也能够写在一对双引号(“str”)或者一对三引号(’’‘str’’’)中。

对于不包含你任何字符的字符串,如’’(一对单引号)或""(一对双引号),称为空字符串(空串)。

字符串操做符

操做符

说明

x + y

链接两个字符串x和y

n * x或x * n

复制n次字符串x

x in s

若是x是s的子串,返回True;不然,返回False

字符串处理函数

Python中标点符号,数字,英文字母或者汉字,长度都是一个字符。

函数

说明

len(x)

长度,返回字符串x的长度

str(x)

任意类型x所对应的字符串形式

hex(x) 或 oct(x)

整数x的十六进制或八进制小写形式字符串

chr(u)

u为Unicode编码,返回其对应的字符

ord(x)

x为字符,返回其对应的Unicode编码

字符串处理方法

处理方法

说明

str.lower() 或 str.upper

返回字符串的副本,所有字符小写/大写

str.split(sep=None)

返回一个列表,由str根据sep被分隔的部分组成

str.count(sub)

返回子串sub在str中出现的次数

str.replace(old, new)

返回字符串str副本,全部old子串被替换为new

str.center(width[,fillchar])

字符串str根据宽度width居中,fillchar可选,默认空格

str.strip(chars)

从str中去掉在其左侧和右侧chars中列出的字符

str.join(iter)

在iter变量除最后元素外每一个元素后增长一个str ,主要用于字符串分隔等

字符串格式化:格式化是对字符串进行格式表达的方式

字符串格式化使用.format()方法:.format()。

!!! 槽:{}

转义符

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\a

响铃

\b

退格

\e

转义

\000

\n

换行

\r

回车

\f

换页

索引:经过字符串下标得到字符串元素的方法。

>>>a='python'

>>>print(a[0])

p

>>>print(a[-1])

n

>>>

切片

str[m:n[:k]]

m:切片的头下标(默认0);

n:切片的尾下标(默认下标最大值);

k:切片的步长(能够是正数、负数(从右向左索引),默认1)

>>>str="hello my friend"

>>>print(str[1:4])

ell

>>>print(str[:-7])

hello friend

>>>print(str[5:])

my friend

>>>print(str[:])

hello my friend

>>>str="hello my friend"

>>>print(str[2:7:2])

lom

>>>print(str[2:7:1])

llo m

>>>

2.二、列表类型–最经常使用的序列类型

列表中能够包含多个元素,且元素类型能够不相同。每一个元素能够是任一数据类型,包括列表(即列表嵌套)及元组、集合、字典。

列表建立后,列表内的元素能够更改。

全部元素都写在一对方括号’[]‘中,每两个元素之间用逗号分隔。不包含任何元素的列表(’[]’),称为空列表。

列表类型操做函数

函数

说明

Ls[i] = x

替换列表Ls第i元素为x

Ls[i: j: k] = Lt

用列表Lt替换切片后所对应元素的子列表

del Ls[i]

删除列表s中第i元素

del Ls[i: j: k]

删除列表Ls中第i到j以k为步长的元素

Ls += Lt

更新列表Ls,将列表Lt元素增长到列表Ls中

Ls *= n

更新列表Ls,其元素重复n次

Ls.append(x)

在列表Ls最后增长一个元素x

Ls.clear()

删除列表Ls中全部元素

Ls.copy()

生成一个新列表,赋值Ls中全部元素

Ls.insert(i, x)

在列表Ls的第i位置增长元素x

Ls.pop(i)

将列表Ls中第i位置元素取出并删除该元素

Ls.remove(x)

将列表中出现的第一个元素x删除

Ls.reverse()

将列表Ls中的元素反转

2.三、元组类型:用于元素不改变的应用场景,更多用于固定搭配场景。

元组与列表相似,能够包含多个元素,且元素类型能够不相同,书写时两个元素之间也是用逗号分隔。

元组的全部元素都写在一对小括号’()'内,且元组一旦建立,元组中的元素就不能被修改。

对于不包含任何元素的元组,即(),称为空元组。

元组使用小括号()或tuple()建立。

三、集合类型

与元组和列表相似,集合中一样能够包含多个不一样类型的元素,但集合中的各元素无序,不容许有相同元素且元素必须是可哈希的对象(可哈希对象是指拥有哈希内置函数的对象。列表、元组、集合和字典类型的数据不是可哈希对象,因此它们不能做为集合中的元素)。

建立集合

集合中的全部元素写在一对大括号’{}'中,各元素之间用逗号分隔。建立集合时,既可使用{},也可使用set函数:

set([iterable]) #iterable是一个可选参数,表示一个可迭代对象

可迭代对象:能够一次返回它的一个元素,如字符串、列表、元组都是可迭代的对象。

注意:

与字符串、列表、元组等序列类型不一样,集合中的元素不能使用下标方式访问。

集合主要用于作交、并、差等集合运算,以及基于集合进行的元素的快速检索。

{}用于建立空字典,若是要建立一个空集合,则须要使用set()。

集合操做符

操做符

说明

S | T

返回一个新集合,包括在集合S和T中的全部元素

S - T

返回一个新集合,包括在集合S但不在T中的元素

S & T

返回一个新集合,包括同时在集合S和集合T中的元素

S ^ T

返回一个新集合,包括集合S和集合T中的非相同元素

S <= T或S < T

返回True/False,判断S和T的子集关系

S >= T或S > T

返回True/False,判断S和T的包含关系

S |= T

更新集合S,包括在集合S和T中的全部元素

S -= T

更新集合S,包括在集合S但不在T中的元素

S &= T

更新集合S,包括同时在集合S和T中的元素

S ^= T

更新集合S,包括集合S和T中的非相同元素

集合操做函数

操做函数

描述

S.add(x)

若是x不在集合S中,将x增长到S

S.discard(x)

移除S中元素x,若是x不在集合S中,不报错

S.remove(x)

移除S中元素x,若是x不在集合S中,产生KeyError异常

S.clear()

移除S中全部元素

S.pop()

随机返回S的一个元素,更新S,若S为空,产生KeyError异常

S.copy()

返回集合S的一个副本

len(S)

返回集合S的元素个数

x in S

判断S中元素x,x在集合S中,返回True,不然返回False

x not in S

判断S中元素x,x不在集合S中,返回True,不然返回False

set(x)

将其余类型变量x转变为集合类型

集合类型的应用场景、

一、包含关系的比较

二、数据去重

四、字典类型

字典是另外一种无序的对象集合,但与集合不一样,字典是一种映射类型,每个元素是一个**键(key):值(value)**对。

在一个字典对象中,键必须是惟一的,即不一样元素的键不能相同;键必须是可哈希数据,即键不能是列表、元组、集合、字典等类型,值能够是任何类型。

对于不包含任何元素的字典,即{},称为空字典。

在访问字典中的元素时,不能经过下标方式访问,而是经过键访问([键])。

字典类型操做函数

函数

说明

del d[k]

删除字典d中键k对应的数据值

k in d

判断键k是否在字典d中,若是在返回True,不然返回False

d.keys()

返回字典d中全部的键信息

d.values()

返回字典d中全部的值信息

d.items()

返回字典d中全部的键值对信息

d.get(k,)

键k存在,则返回相应值,不在则返回值

d.pop(k,)

键k存在,则取出相应值,不在则返回值

d.popitem()

随机从字典d中取出一个键值对,以元组形式返回

d.clear()

删除全部的键值对

len(d)

返回字典d中元素的个数

字典类型应用场景

一、映射的表达:统计数据出现的次数,数据是键,次数是值;

二、元素遍历