python 数据类型

python 数据类型

Python 数值类型包括:

  1. Number类型(数值类型)
    Number类型即数值类型,通常用于存储数字,最常用的是变量类型

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    //类型定义
    * Integer 整型
    * Long integer 长整型,数值后面以l或L结尾
    * Bollean 布尔值,True或False
    * Double-precision floating 双精度浮点数,可以使用浮点数或科学计数法表示,每个浮点占8个字节
    * Complex number 复数

    //操作符
    1.算数操作符
    * A + B 加号,正数
    * A - B 减号,负数
    * A * B 乘号
    * A / B 除号,B!=0
    * A % B 取余
    * A ** B 幂操作:A的B次方
    * A // B 取整操作:A除以B,结果整数部分
    * not A 取反操作: 只用于Boolean类型
    * A > B 判断A是否大于B,True/False
    * A < B 判断A是否小于B,True/False
    * A == B 判断A是否等于B,True/False
    * A >= B 判断A是否大于等于B,True/False
    * A <= B 判断A是否小于等于B,True/False
    2.二进制比特操作符
    * ~A 按二进制取反,结果数字是-(A+1)
    * A & B 并操作,只有两个比特位都为1时结果中对应比特位才为1,否则为0
    * A | B 或操作,只要两个比特位有一个为1结果中对应比特位就为1,否则为0
    * A ^ B 异或操作,如果两个比特位相同,则结果中设置为0,否则为1
    * A >> B 按比特位右移,在A转换二进制后,右边去掉B个位,左边补齐0
    * A << B 按比特位左移,在A转换二进制后,后面添加B个0

    //内置函数
    * cmp(A,B) 比较二者大小,如果前者小返回-1,前者大返回1,相等返回0
    * str(A) 将参数转换为可显示的字符串
    * type(A) 返回参数的类型对象
    * bool(A) 将参数转换为布尔类型
    * int(A) 将参数转换为整数类型,以十进制表示
    * long(A) 将参数转换为长整型,以十进制表示
    * float(A) 将参数转换为浮点类型
    * complex(A) 将参数转换为复数类型

    //数值类型特定函数
    * abs(A) 取绝对值
    * coerce(A,B) 将A和B转换成一个类型,并生成一个元组
    * divmod(A,B) 除模操作: 生成一个元组(A/B,A%B)
    * pow(A,B) 幂操作符: A的B次方
    * round(A) 返回四舍五入的结果
    * hex(A) 将A转换为十六进制表示的字符串
    * oct(A) 将A转换为八进制表示的字符串
    * chr(A) 将A转换为ASCII字符,要求0<=A<=255
    * ord(A) chr(A)的反函数
  2. Sequence类型簇(序列类型)
    python中的字符串(String),元组(Tuple),列表(list)都属于序列类型簇
    可以将字符串看作由字符组成的序列类型;元组是任意对象组成的不可修改序列类型;列表是任意对象组成的可修改序列

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    //操作符
    * A[index] 获取序列中第index个元素,index从0开始
    * A[index1:index2] 切片操作,获取index1-index2的子序列
    * A in B 判断序列B中是否有A,如果有返回True,否则False
    * A not in B 判断序列B中是否有A,如果没有返回True,否则False
    * A + B 链接A和B,生成新的序列返回
    * A * number 将A重复number次,正常新的序列并返回
    * A > B 判断A是否大于B,结果为True/False
    * A < B 判断A是否小于B,结果为True/False
    * A == B 判断A是否等于B,结果为True/False
    * A >= B 判断A是否大于等于B,结果为True/False
    * A <= B 判断A是否小于等于B,结果为True/False

    //内置函数
    * enumberate(A) 对序列A生成一个可枚举对象,对象中每个元素是一个二位元组,元组内容为(index,item),即(索引号,序列元素)
    * len(A) 返回序列的长度
    * list(A) 转换为list类型
    * max(A) A是一个序列,返回A中最大的元素
    * max(a,b,...) 返回所有参数中最大的元素
    * min(A) A是一个序列,返回A中最小的元素
    * min(a,b,...) 返回所有参数中最小的元素
    * reversed(A) 生成A的反向序列
    * sorted(A,func=None,key=None,reverse=False) 对A排序,排序规则按照参数func,key,reverse指定的规则排序
    * sum(A,init=0) 对A中的元素求和
    * tuple(A) 转换为Tuple类型
  3. String类型(字符串类型)
    字符串是由零个或多个字符组成的有限序列
    python中使用单引号或双引号意义相同,都可以表示字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    //基本使用
    python字符串分两种:
    1.普通字符串(使用引号声明的字符串)
    2.Unicode字符串(在引号之前加上字母u的,汉子需要声明Unicode字符串)

    字符串是不可变类型,改变一个字符串的元素需要新建一个新的字符串

    //字符串格式化
    字符串格式化是按指定的规则连接,替换字符串并返回新的复合要求的字符串

    * %c 转为单个字符
    * %r 转为repr()函数表达式的字符串
    * %s 转为str()函数表达式的字符串
    * %d/%i 转为有符号的十进制整数
    * %u 转为无符号的十进制整数
    * %o 转为无符号的八进制整数
    * %x 转为无符号的十六进制整数,十六进制小写字母表示
    * %X 转为无符号的十六进制整数,十六进制大写字母表示
    * %e 转为科学计数法表达的浮点数,其中e小写表示
    * %E 转为科学计数法表达的浮点数,其中E大写表示
    * %f/%F 转为浮点数
    * %g 由python根据数字大小自动判断转换为%e或%f
    * %G 由python根据数字大小自动判断转换为%E或%F
    * %% 输出"%"

    //辅助格式化符号
    * * 定义宽度或小数点精度
    * - 左对齐
    * + 对正数输出正值符号"+"
    * <sp> 数字大小不足m.n的要求时,用空格补位
    * # 在八进制前显示0,在十六进制前显示0x或0X
    * 0 数字大小不满足m.n时,用0补位
    * m.n m是显示的最小总宽度,n是小数点后的位数
  4. Tuple类型(元组类型)
    Tuple即元组,用圆括号”()”表示,不同的元素之间以逗号分隔.
    Tuple比list的操作速度快

  5. List类型(列表类型)
    List即列表,使用中括号”[]”表示,不同的元素之间以逗号分隔

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //list 内置函数
    * append(obj) 在列表尾部追加一个对象
    * count(obj) 计算对象在列表中出现的次数
    * extend(seq) 把序列seq的内容添加到列表中
    * index(obj,i=0,j=len(list)) 计算对象obj在列表中索引的位置
    * insert(index,obj) 把对象插入列表index指定的位置
    * pop(index=1) 读取并删除index位置对象,默认为最后一个对象
    * remove(obj) 从列表删除对象obj
    * reverse() 获得反向列表
    * list.sort(func=None,key=None,reverse=False) 以指定的方式排序列表中的成员
  6. Set类型(集合类型)
    set类型即集合,用于表示相互之间无序的一组对象
    集合在算术上运算包括: 并集,交集,补集
    python集合分为两种: 普通集合 和 不可变集合
    普通集合: 在初始化后支持并集,交集,补集等运算
    不可变集合: 初始化后就不能改变

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//类型定义
关键字 set 用于定义普通集合
关键字 frozenset 用于定义不可变集合
初始化集合内容的方法是向其传入sequence类型簇的变量

//集合操作符
* in 判断包含关系
* not in 判断不包含关系
* == 判断等于
* != 判断不等于
* < 判断绝对子集关系
* <= 判断非绝对子集关系
* > 判断绝对超集关系
* >= 判断非绝对超集关系
* & 交集运算
* | 并集运算
* - 差集运算
* ^ 对称差运算
* |= 执行并运算并赋值
* &= 执行交运算并赋值
* -= 执行差运算并赋值
* ^= 执行绝对称差运算并赋值

//内置函数
set类型有自己的内置函数,用于增删改操作
* add() 增加新元素
* update(seq) 用序列更新集合,序列的每个元素都被添加到集合中
* remove(element) 删除元素
  1. Dictionary类型(字典类型)
    Dictionary类型即字典,代表键/值存储库,工作方式像映射表
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //类型定义
    Dictionary是python中唯一表示映射关系的类,所以有其独特的定义和操作方式
    {key1:value1,key2:value2,...} 进行初始化

    //内置函数
    * clear() 清除字典中所有键值对
    * copy() 复制字典的一个副本
    * fromkeys(seq,val=None) 用seq中的元素作为键创建字典,所有键的值都为val,val默认为None
    * get(key,default=None) 读取字典中的key,返回该键的值,如果读取不到返回default所设的值
    * has_key(key) 判断键key在字典中是否存在,存在返回True,否则False
    * items() 返回一个包含字典中(键,值)对元组的列表
    * keys() 返回一个保护字典中所有键的列表
    * iteritems() 返回字典中所有键值对的迭代器
    * iterkeys() 返回字典中所有键的迭代器
    * itervalues() 返回字典中所有值的迭代器
    * pop(key[,default]) 读取某键的值,并且从字典中删除该键的值.如果键不存在,并且未设置default,返回KeyError异常
    * setdefault(key,default=None) 设置字典中key的值为default
    * update(dict) 合并字典
    * values() 返回一个保护字典中所有值的列表