zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    【JAVAWEB学习笔记】网上商城实战3:购物模块和订单模块
    JAVAEE学习——hibernate01:简介、搭建、配置文件详解、API详解和CRM练习:保存客户
    【JAVAWEB学习笔记】网上商城实战2:异步加载分类、Redis缓存分类和显示商品
    征稿延期 | 2019亚洲语言处理国际大会(IALP2019)征稿延期
    征稿通知 | 2019亚洲语言处理国际大会(IALP2019)开始征稿
    ECNU·AntNLP主页船新上线!
    [NAACL19]无监督循环神经网络文法 (URNNG)
    [ICLR18]联合句法和词汇学习的神经语言模型
    [NAACL19]一个更好更快更强的序列标注成分句法分析器
    [EMNLP18]用序列标注来进行成分句法分析
  • 原文地址:https://www.cnblogs.com/etsdpt/p/12851755.html
Copyright © 2011-2022 走看看