Python基础5 运算符

  1 #算术运算符
  2 #基本没变化,讲两个不一样的,其他不用浪费时间
  3 #** 幂,不是^而是**
  4 print(8**2);#求8的二次方
  5 #//地板除法 说白了就是求带余数的商的值
  6 print(9//2);#9/2=4....1这里求的就是4
  7 
  8 print("//////////////////////////////////////");
  9 
 10 #关系运算符
 11 #比大小,也只有一点点东西要说
 12 #首先字符串也是可以比较大小的 
 13 #比较大小的方式为从第一位开始比较对应Ascii表的大小来决定的
 14 print("SB">"[]");
 15 
 16 #比较不单单只有数字或者字符串可以进行比较
 17 #元组()和列表[]也是可以进行比较的
 18 #(这两个我都还没学,,所以就只用一下列表吧)
 19 a=[1,2,3];
 20 b=[2];
 21 print(a>b);
 22 print(a<b);
 23 a=['s',5];
 24 #虽然这里建立了新的a的列表,但是由于字符串不能和int比较大小,所以如果写a>b这种判断,是会报错的
 25 
 26 #逻辑运算符
 27 #and =&&
 28 #or =||
 29 #not = !
 30 #就是这样的,没啥变化,用法完全一致
 31 #提一下,不要忘记了短路运算的存在
 32 
 33 
 34 #位运算符
 35 # ~ 位反 ,讲值按位取反
 36 # & 按位与
 37 # | 按位或
 38 # ^ 按位异或
 39 #>> << 左移右移
 40 c= 0b01001;
 41 d= 0b11101;
 42 print(c|d);
 43 #   01001
 44 # | 11101
 45 #   11101=2**4+2**3+2**2+2**0=16+8+4+1=29
 46 #所以上面结果输出的是29
 47 
 48 print(c&d);
 49 #   01001
 50 # & 11101
 51 #   01001=2**3+2**0=8+1=9
 52 #所以上面结果输出的是9
 53 
 54 print(~c);
 55 #   01001
 56 # ~ 
 57 #   10110=2**4+2**2+2**1=16+4+2=22
 58 # 假如这里的数据就是5位数的,那么结果是22
 59 #很遗憾的是这里是64位的数据,所以前面的00000000。。。都会被转化成1
 60 #我们就无法手动算了
 61 
 62 c=0b01001;
 63 print(c^d);
 64 #   01001
 65 # ^ 11101
 66 #   10100=2**4+2**2=16+4=20
 67 #异或的原则是,1 0 =1 ,0 0=0,1 1 = 0;
 68 
 69 print(c<<2);
 70 #   01001   <<2左移两位
 71 # 0100100 =2**2+2**5=4+32=36
 72 #这里要注意,左移后,后面空缺的位置是要补0
 73 #然后如果到达了左边的边界,也就是最高位,超过了,就会被移除掉
 74 #比如这里如果本来就只有5位数,左移两位后
 75 #结果会变成00100,前面的超出最高位的部分就被移去了
 76 
 77 print(d>>2);
 78 #   11101   >>2右移两位
 79 #   00110(移除01)
 80 #和左移类似,右移是超出最低位移除,高位开始补0
 81 
 82 #赋值运算符
 83 #+=,-=,//=,&=,%=,>>=等,不做赘述
 84 
 85 print("/////////////////////////////////");
 86 
 87 #同一性测试运算符
 88 #is  not is 
 89 #和==  !=没有区别
 90 
 91 #成员测试运算符
 92 #in not in
 93 #in表示包含  not in 表示不包含
 94 string_a ="玩个锤子哦!";
 95 print("锤子"in string_a);#True
 96 print("锤子"not in string_a);#False
 97 #字符串可以使用,列表也可以使用
 98 lie =[5,4,1,8];
 99 print(5 in lie);#True
100 print(9 in lie);#False
悟已往之不谏,知来者之可追
原文地址:https://www.cnblogs.com/ljh-study/p/13721793.html