算数运算符
- 加法:数值相加,序列拼接
>>> 1 + 2
3
>>> "123" + "456"
'123456'
- 减法:数值相减
- 乘法:数值相乘,序列倍增
>>> 3 * 6
18
>>> "我爱你" * 3
'我爱你我爱你我爱你'
>>>
- 除法:小数除/,整数除//
整数除 只要两边都是整数,结果一律为整数 但凡有一个小数,结果就是小数(只有整数位·,小数位都为0)
>>> 10 / 2
5.0
>>> 10 // 2
5
>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3
- 幂运算
>>> 2 ** 3
8
>>> 16 ** 0.5
4.0
- 取余 10 / 3 = 3 ~ 1
>>> 10 % 3
取余经常用于哪些场景?带有数据重复或循环的情况
22 日对应周五, 22 % 7 = 1 余数为 1 则对应周五 0 对应周四 ....30 % 7 = 2 对应周六
布尔判断运算符
运算结果一律为布尔值
大于 小于 大于等于 小于等于 不等于 等于
> < >= <= != ==
python允许连续比较
>>> 1 < 2 < 3
True
>>> 1 < 2 and 2 < 3
True
在python当中 == 到底比得是啥?
答:彼得是具体对象的值
>>> a = 1>>> b = 1>>> id(a) # id 取变量中存储的数据对象在内存中的地址140715464473016>>> id(b)140715464473016>>> a = 1000>>> b = 1000>>> id(a)3267440575376>>> id(b)3267440589968可以发现 a 和 b 在为 1000 时 对象地址不一样?因为在 Python 当中 只有 -5~256 Python 会自动创建这些数据对象,提供给调用者使用也就意味着如果创建该范围之外的数据对象的话, Python 则重新创建新的对象出来a = 1000, b = 1000 其实是两个 1000 数据的对象a == b 比的是对象的内容 但是 a 和 b 存的地址不一样a = 1, b = 1, 其实只有一个 1 数据的对象a == b 比的是对象的内容 但是 a 和 b 存的地址一样
增强型赋值运算符
+= -= *= /= //= **= %=a += 2a = a + 2b **= 2b = b ** 2
额外多说一句:在python中是不存在++ -- 这种自增运算符的!
int i = 1 ;i ++ ;System . out . println ( i );System . out . println ( i ++ );int j = i ++ ;System . out . println ( i );System . out . println ( j );i = i ++ ;System . out . println ( i );i = i ++ ;System . out . println ( i );
i++流程
1 开辟临时存储空间
2 将!的值复制到临时存储区内
3 i自身+1
4 临时存储区的值等待被调用(输出 赋值 参与运算)