内置数据三大主要类型:
数字(整数,浮点数)
序列(字符串,列表,元组)
映射(字典)
按照是否可原地修改值分为两大类:
不可变对象(数字,字符串,元组,不可变集合)
不可变的分类中没有哪个对象类型支持原地修改,但可以创建新的对象并将结果赋予变量。
可变对象(列表,字典,可变集合)
相反,可变的类型总是可以通过操作原地修改,而不用创建新的对象。
1.整数
不可变对象
正整数 :12,9999999
负整数:-12,-999999
零:0
二进制整数:0b10010
八进制整数:0o177
十六进制整数:0x123,0xABC
相关操作:
(1) 算数运算符:基本数学运算,结果为另一个数值
下面以a=10 ,b=20为例进行计算
(2) 比较运算符:数值大小比较,可连续比较(and),结果为布尔型True,False
(3) 赋值运算符:快速的算数运算符,x+=1相当于x=x+1,只针对变量运算
运算符 | 描述 | 实例 |
+= | 加法赋值运算符 | c+=a等同于c=c+a |
-= | 减法赋值运算符 | c-=a等同于c=c-a |
*= | 乘法赋值运算符 | c*=a等同于c=c*a |
/= | 除法赋值运算符 | c/=a等同于c=c/a |
%= | 取模赋值运算符 | c%=a等同于c=c%a |
**= | 幂赋值运算符 | c**=a等同于c=c**a |
//= | 取整除赋值运算符 | c//=a等同于c=c//a |
(4) 位运算:对应数值的二进制的运算,结果为另一数值
运算符 | 描述 |
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
<< | 左移 |
>> | 右移 |
(5)三元运算符:e=x if condition else y
if condition:
e=x
else:
e=y
2.浮点数
不可变对象
一般浮点型:1.2 ,2.1
科学浮点型:3.14e-10
相关操作:同整数型 但不支持位运算符
相关内置模块:需要导入 import xxx
math:数学工具模块
math.pi:圆周率
math.e:自然数
math.sin()
math.sqrt()
random:随机工具模块
random.random():随机生成0~1之间的浮点数
random.randint(m,n):生成m~n之间的整数
random.choice(序列):在序列中随机抽取一个元素
random.shuffle(序列):随机打乱一个集合
3.集合型
set 不可变对象 元素唯一的无序集合 元素类型不限并可嵌套 用{}表示 不支持索引
比如:a={1,2,3},b={2,3,4}
相关操作:
并集运算:a|b 或 a.union(b)
交集运算:a&b 或 a.intersection(b)
对称差运算:a^b 差集运算:a-b
增加元素运算:a.add(4) 或 a.update({5})
删除元素运算:a.remove(5)
验证子集:a.issubset(b)
元素存在性:1 in a,2 not in a
集合解析器:{x**2 for x in {1,2,3}}
4.布尔值
不可变对象 就两个值 True False 一般上讲 非空 非负数 都是True
相关操作:
逻辑运算符:
下面以a=10 ,b=20为例进行计算