Python 数据类型

数据类型 (程序设计语言不允许存在语法歧义,需要定义数据的形式)

字符串 str:由0个或多个字符组成的有序字符序列

- 字符串由一对单引号或一对双引号表示

- 字符串是字符的有序序列,可以对其中的字符进行索引

- 正向递增序号和反向递减序号

- 使用[]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符 <字符串>[index]
  • 切片:返回字符串中一段字符子串 <字符串>[start:stop:step]]

- 字符串操作符:x+ y,n * x 或 x * n,x in s

- 字符串处理函数:len(x),str(x),hex(x) 或 oct(x),chr(u),ord(x)

- 字符串处理方法:str.lower()或str.upper(),str.split(sep=None),str.count(sub),str.replace(old, new),str.center(width[,fillchar]),str.ljust(),str.strip(chars),str.join(iter),str.format()

- format()方法的格式控制:": <填充><对齐><宽度> <,><.精度><类型>"

数字类型:整数 int,浮点数 float,复数 complex

- 整数:数学中的整数

  • 十进制:1010, 99, -217
  • 二进制,以0b或0B开头:0b010, -0B101
  • 八进制,以0o或0O开头:0o123, -0O456
  • 十六进制,以0x或0X开头:0x9a, -0X89

- 浮点数:数学中的实数,带有小数部分

  • 浮点数间运算存在不确定尾数 (0.1 + 0.2 = 0.30000000000000004),不确定尾数一般发生在10-16左右,round()十分有效
  • round(x, d):对x四舍五入,d是小数截取位数
  • 浮点数可以采用科学计数法表示 <a>e<b> 表示a*10b

- 复数:数学中的复数,a + b使用后缀 j 或者 J 就表示虚数部分,复数z包含实部z.real和虚部z.imag

- (扩展) 有理数:fractions.Fraction

- (扩展) 用户定制精度表示浮点数: decimal.Decimal

序列类型:序列是具有先后关系的一组元素

- 序列是一维元素向量,元素类型可以不同

- 类似数学元素序列:s0, s1, … , sn-1

- 元素间由序号引导,通过下标访问序列的特定元素

- 序列是一个基类类型,扩展为字符串类型,元组类型,列表类型

- 序列类型通用操作符:x in s,x not in s,s+ t,s*n 或 n*s,s[i],s[i: j]或s[i: j: k]

- 序列类型通用函数和方法:len(s),min(s),max(s),s.index(x) 或s.index(x, i, j),s.count(x)

*元组 tuple:是序列类型的一种扩展

- 元组是一种序列类型,一旦创建就不能被修改

- 使用小括号() 或tuple() 创建,元素间用逗号,分隔

- 可以使用或不使用小括号

- 元组继承了序列类型的全部通用操作

- 元组因为创建后不能修改,因此没有特殊操作

*列表 list:是序列类型的一种扩展,十分常用

- 列表是一种序列类型,创建后可以随意被修改

- 使用方括号[] 或list() 创建,元素间用逗号, 分隔

- 列表中各元素类型可以不同,无长度限制

- 列表类型操作函数和方法:ls[i] = x,ls[i: j: k]= lt,del ls[i],del ls[i: j: k],ls+= lt,ls*= n

- 列表类型操作函数和方法:ls.append(x),ls.clear(),ls.copy(),ls.insert(i,x),ls.pop(i),ls.remove(x),ls.reverse()

- 列表作为堆栈使用:“后进先出”,使用append()和pop()进行操作,不用指定索引。

- 列表作为队列使用:“先进先出”,collections.deque 被设计用于快速地从两端操作。使用append()和popleft()进行操作,不用指定索引。

- 列表推导式:提供了一个更简单的创建列表的方法。(squares = list(map(lambda x: x**2, range(10))) 等价于 squares = [x**2 for x in range(10)])

*range对象:

集合类型:集合是多个元素的无序组合

- 集合类型与数学中的集合概念一致

- 集合元素之间无序,每个元素唯一,不存在相同元素

- 集合元素不可更改,不能是可变数据类型

- 集合用大括号{} 表示,元素间用逗号分隔

- 建立集合类型用{} 或set()

- 建立空集合类型,必须使用set()

- 集合间操作:交(&)、并(|)、差(-)、补(^)、比较(>=<)

- 集合类型方法:.add(),.discard(),.remove,.clear(),.pop(),.copy(),len(),set(),x in S,x not in S等

字典类型:是“映射”的体现

- 键值对:是数据索引的扩展

- 字典是键值对的集合,键值对之间无序

- 采用大括号{}和dict()创建,键值对用冒号: 表示

- 字典类型操作函数和方法:del d[k],k in d,d.keys(),d.values(),d.items()

- 字典类型操作函数和方法:d.get(k, <default>),d.pop(k, <default>),d.popitem(),d.clear(),len(d)

原文地址:https://www.cnblogs.com/etsdpt/p/12851755.html