运算符
一.运算符
1.算数运算符
2.比较运算符
3.赋值运算符
4.逻辑运算符
5.身份运算符
二.各种运算符的使用方法
1.算数运算符
无非就是+,-,*,/,%,**,//
简单的说,前面就是小学数学中的加减乘除,%是取模,返回余数,**是幂(x的平方==x**2),//与%相反是取整数部分
2.比较运算符
进行简单的逻辑判断,== 等于,!= 等于,<>不等于(注意,python2中可以使用,python3中已经不存在),> 大于,< 小于,>= 大于等于,<= 小于等于
3.赋值运算符
举个栗子(-_-)
比如 a=a+1可以简化成 a+=1,可以理解成,a+移动到了=左边,此时a存在两个,故覆盖后只剩a+=1,同理将上面的算数运算符套用进来,可以得到*=,%=等等一些列的赋值运算符。(忘记说了=就是最简单的赋值符号)
其实有几种赋值方式可以简化代码
1.交叉赋值
x=11,y=22,,想把两个值互换可以使用 x,y=y,x 来达到效果,无需多添加其他变量。
2.链式赋值
想把10同时赋值给x,y,z,x=y=z=10便可以直接达到目的
3.解压赋值
想把list1=[1,2,3,4,5,6,7,8,9]赋值给9个变量,x,y,z......,s(9个变量)=list1可以达到目的,如果你只想取列表前面的值或末尾的值,可以更加简单:x,y,*_,z=list1,x,y,z便可以取到想要的值(1,2和9),*可以理解为把y后到s前的值打包给变量 _(_这个变量不常用,故推荐使用在此),此时_=[3,4,5,6,7,8]。
四.逻辑运算符
and:逻辑与,用来连接左右两个条件,左右两个条件都为True时才为True
注:之前说了,所有值都带布尔值,如果前后都为字符串,继续举起栗子
print(‘first’ and ‘second’),输出为啥呢?很简单,输出为second,因为and判断前一个条件first后,判断为真,故还要继续运行下去,直到判断second也为真的时候,直接输出后者,如果first换成None则输出None,因为前者已经判断为False,所以无需继续运行。(感觉这并没有什么用,了解一下就好了)
or:逻辑或,与and相同连接左右两个条件,与and 不同的是,只要两者一个条件为True便为True。
注:上面的栗子拿下来继续啃,如果是字符串或是列表之类的非数字比较,简单的说其实前者为真的时候直接输出,前者为假的时候,直接输出后者,比如print(None or ‘second’),输出为second。
not:取反
五,身份运算符
== 判断的是值是否相等
is 判断的是id是否相等
注:如果id相同那么值必定相同,但是值相等,id不一定相同
同一代码块下,值相同,id相同,不同代码块下,值相同,id不一定相同(缓存有一定范围,比如整型的范围为-5——256之间,在这区间值相同,id相同)