#运算
由一个以上的值经过变化得到新值的过程就是运算。
运算符
用于运算的符号就是运算符
运算的分类
1.算数运算
2.比较运算/关系运算
3.赋值运算
4.逻辑运算
5.位运算
6.成员运算
7.身份运算
算数运算
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余运算
// 取商运算/地板除
** 幂运算
注意:python中没有自增的++,也没有自减的--运算
关系运算/比较运算
> 大于运算
< 小于运算
== 等于运算
>= 大于等于运算
<= 小于等于运算
!= 运算
注意:python中没有类型判断 所以没有 ===和!== 运算
赋值运算
= 普通赋值运算
+= 加法赋值运算
-= 减法赋值运算
*= 乘法赋值运算
/= 除法赋值运算
%= 取余赋值运算
//= 取商赋值运算
**= 幂赋值运算
注意:所有运算赋值操作的格式都可以转化为 【变量 = 变量 运算符 值】,等号两侧一定都是变量
var /=5 -> var = var /5
逻辑运算
逻辑运算就是布尔值之间的运算。python只有三种运算方式。
and 逻辑与运算
or 逻辑或运算
not 逻辑非运算
and逻辑与运算:有假则假
洗屁股:
左手洗了左屁股True,右手洗了右屁股True,洗完了屁股True
左手洗了左屁股True,右手没有洗有屁股False,没有洗完屁股False
左手没洗左屁股False,右手洗了右屁股True,没洗完屁股False
左手没有洗左屁股False,右手没有洗右屁股False,没洗完屁股False
or逻辑或运算:有真则真
孩子丢了找孩子:
你没找到孩子False,你媳妇也没有找到孩子False,孩子没找到!False
你找打了孩子True,你媳妇没找到孩子False,孩子找到了True
你没有找到孩子False,你媳妇找到了孩子True,孩子找到了True
你和你媳妇同时找打了孩子(True和True),孩子找到了True
not逻辑非运算:真变假,假变真
大老爷们去泰国!
纯爷们(True),做了手术,不是纯爷们了(False)
注意:逻辑运算一共四种,python只提供了三种:没有提供逻辑抑或运算
xor 逻辑抑或运算:相同为假,不同为真
结婚:
一个爷们(True),一个娘们(False),可以结婚(True)
一个娘们(False),一个爷们(True),可以结婚(True)
一个爷们(True),一个爷们(True),不可以结婚(False)
一个娘们(False),一个娘们(False),不可以结婚(False)
位运算
在二进制基础上进行的逻辑运算就是位运算。
& 按位与运算
| 按位或运算
~ 按位非运算
^ 按位抑或运算
>> 右移运算 相当于地板除2运算(取商)
<< 左移运算 相当于×2运算
成员运算
检测一个数据是否在指定的容器(复合数据)当中(返回bool)
检测一个数据1是否在另外一个数据2当中
格式: 数据1 in 数据2
检测一个数据1是否不再另外一个数据2当中
格式: 数据1 not in 数据2
身份检测
作用是检测2个变量在内存中是否是同一个值(返回bool)
检测2个变量是不是同一个值
格式: 数据1 is 数据2
检测2个变量是不是不是同一个
格式: 数据1 is not 数据2
运算优先级的问题
我们自己写程序优先级使用()来解决。
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
注意:我们并不推荐死记硬背优先级,在实际使用中最好使用()解决优先级问题
检测数据归属类型
type() 测试可以使用 开发尽量避免
isinstance() 检测一个数据是否由指定的类型创建,返回bool
格式: isinstance(变量,检测的类型)
检测的类型名称就是类型转换的那些功能的名称,不需要()