本文已参与「新人创作礼」活动,一起开启掘金创作之路
数据类型
整数类型
- 可正可负,没有取值限制
- pow(x,y)函数:计算x^y,想算多大算多大
四种进制的表示方法
- 十进制:1010,99,-128
- 二进制,以
0b或0B开头:0b010,-0B101 - 八进制,以
0o或0O开头:0o123,-0O456 - 十六进制,以
0x或0X开头:0x9a,-0X89
浮点数类型
- 带有小数点及小数的数字
- 浮点数取值范围和小数精度都存在限制,但常规计算可以忽略
- 取值范围数量级约-10^308至10^308,精度数量级10^-16
浮点数间的运算存在不确定位数,不是bug
>>>0.1 + 0.3
0.4
>>>0.1 + 0.2
0.3000000000004
浮点数间运算存在不确定尾数
-
round(x,d):对x四舍五入,d是小数截取位数
round(0.1+0.2,1)==0.3 #输出结果 Ture -
浮点数间运算及比较用round()函数辅助
-
不确定尾数一般发生再10^-16左右,round()十分有效
浮点数可以采用科学计数法表示
- 使用字母e或E作为幂的符号,以10为基数,格式如下:
- 例如:
4.3e-3值为0.00439.6E5值为960000.0
取值范围和精度基本无限制
运算存在不确定尾数 round()
科学计数法的表示
复数类型
只有python提供复数类型
z=1.23e-4+5.6e+89j
- 实部是什么?
z.real获得实部 - 虚部是什么?
z.imag获得虚部
组合数据类型
集合类型定义
集合是多个元素的无序组合(类似于c语言中的数组)
-
集合类型与数学中的集合概念一致
-
集合元素之间无序,每个元素唯一,不存在相同元素
-
集合元素不可更改,不能是可变数据类型 非可变数据类型(整数,浮点数,复数,字符串类类型,元组类型等)
-
集合用大括号{}表示,元素间用逗号分隔
-
建立集合类型用{}或set()
-
建立空集合类型,必须使用set()
例子
>>> A = {"python",123,("python",123)} #使用{}建立集合
{123,"python",("python",123)}
>>> B = set("pypy123") #使用set()建立集合
{"1","p","y","2","3"}
>>> C = {"python",123,"python",123}
{"python",123}
重点
- 集合用大括号{}表示,元素间用逗号分隔
- 集合中每个元素唯一,不存在相同元素
- 集合元素之间无序
集合操作符
6个操作符用来表示集合的运算(一个新的集合)
| 操作符及应用 | 意义 |
|---|---|
| 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的包含关系 |
4个增强操作符 (修改原有的集合)
| 操作符及应用 | 意义 |
|---|---|
| S |= T | 更新集合S,包括在集合S和T中的所有元素 |
| S -= T | 更新集合S,包括在集合S但不再T中的元素 |
| S &= T | 更新集合S,包括同时在集合S和T中的元素 |
| S ^= T | 更新集合S,包括集合S和T中的非相同元素 |
示例
>>> A = {"P","y",123}
>>> B = {"pypy123"}
>>> A-B
{123}
>>> B-A
{"1","2","3"}
>>> A&B
{"p","y"}
>>> A|B
{"1","2","3","y","p",123}
>>> A^B
{"1","2","3",123}
集合的处理方法
| 操作函数或方法 | 意义 |
|---|---|
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转变为集合类型 |
示例
>>> A = {"p","y",123}
>>> for item in A
print(item,end="")
p123y
>>> A
{"p",123,"y"}
____________________________
>>> A = {"p","y",123}
>>> try:
while True:
print(A.pop(),end="")
except:
pass
p123y
>>> A
set()
集合类型应用场景
1.包含关系的比较
>>> "p" in {"p","y",123}
True
>>> {"p","y"} >= {"p","y",123}
Flase
2.数据去重
利用集合中的元素不能重复的特点
>>> ls = ["p","p","y","y",123]
>>> s = set{ls} #利用了集合无重复元素的特点
{"p","y",123}
>>> lt = list(s) #将集合转换为列表
["p","y",123]