运算和运算符相关知识
运算和运算符
运算: 由一个以上的值经过变化得到新值得过程,就是运算。
运算符: 用于运算的符号,就是运算符
运算的分类:
1.算数运算
2.比较运算/关系运算
3.赋值运算
4.逻辑运算
5.位运算
6.成员运算
7.身份运算
算术运算
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余运算
// 取商运算 地板除
** 幂运算
关系运算/比较运算
< 小于运算
> 大于运算
== 等于运算
<= 小于等于运算
>= 大于等于运算
!= 不等于运算
赋值运算
= 普通赋值运算
+= 加法赋值运算
-= 减法赋值运算
*= 乘法赋值运算
/= 除法赋值运算
%= 取余赋值运算
//= 取商赋值运算
**= 幂赋值运算
所有运算赋值操作的格式都可以转换为[变量 = 变量 运算符 值],如:
var /= 5 相当于 var = var / 5
逻辑运算
逻辑运算就是布尔值之间的运算,Python只有三种运算方式
1.and 逻辑与运算(有假则假;两边为真才是真)
2.or 逻辑或运算(有真则真;两边为假才是假)
3.not 逻辑非运算(真变假,假变真)
位运算
在二进制基础上进行的逻辑运算就是位运算。
& 按位与运算
| 按位或运算
~ 按位非运算
^ 按位抑或运算
<< 左移运算 相当于×2运算
>> 右移运算 相当于地板除2运算
成员运算
检测一个数据是否在指定的容器(复合数据)当中
检测数据1是否在数据2中
格式:数据1 in 数据2
检测数据1是否不在数据2中
格式:数据1 not in 数据2
身份检测
检测两个变量在内存中是否是同一个值
检测两个变量在内存中是不是同一个值
格式:数据1 is 数据2
检测两个变量在内存中是否不是同一个值
格式:数据1 is not 数据2
运算优先级的问题
运算的优先级
例如:在数学中,1+5x2,乘法会优先运算。
我们的Python程序也是一样的,一个运算中存在多个运算符时,系统也有它自己的一套优先级的规则。
Python的运算优先级规则如下,从上向下按照优先级的由高向低依次排序
但是我们并不推荐各位死记硬背,因为我们自己写程序遇到优先级问题可以使用()解决,更方便,也更易读。
** 指数(最高优先级)
~ + - 按位翻转, 一元加号和减号(最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
检测数据归属类型
type() 测试时可是使用,开发尽量避免使用
格式:type(变量)
isinstance() 检测一个数据是否由指定的类型创建
格式:isinstance(变量,检测的类型)