运算符

一.运算符

  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相同)

 

 

 

  

 

  

  

posted @ 2019-03-20 19:44  Mr-Bear  阅读(124)  评论(0编辑  收藏  举报