# 运算符分算术运算符,赋值运算符,复合运算符,逻辑运算符,位运算符 # 算术运算用于Number数据类型的运算,部分算术运算符可用于String数据类型# 算术运算符:+(加),-(减),*(乘),/(除),%(求余),**(求幂) 相当于pow()函数,//(取整)# print(5+2 , 5-2 , 5*2 , 5/2 ,5%2 , 5**2 , 5//2)# print("a"*2+"abc"*4) #赋值运算符用于给变量赋值,赋值运算符:=# Num1 = 1# print(Num1) #复合运算符:+=,-=,*=,/=,%=,**=,//=#复合运算相当于算术运算后赋值给变量 即:a += 1 相当于 a = a+1# Num2=Num3=Num4=Num5=Num6=Num7=Num1# Num1 += 1# Num2 -= 1# Num3 *= 2# Num4 /= 0.2# Num5 %= 2# Num6 **= 0# Num7 //= 2# print(Num1 , Num2 ,Num3 ,Num4 ,Num5 ,Num6 , Num7) #逻辑运算符:<,>,<=,>=,==,!=(不等于),and(与),or(或),not(非)#逻辑运算用于运算事的真与假. 假的值有 0,0.0,False,none,空,其余则为真print(int(0>1)and int(0<1))print(0>1or 0<1)print(not 0) #成员运算符: in ,not in#用于判断序列(string数据类型也是序列的一种)中是否有对应的值 #身份运算符: is , is not#用于判断变量是否引用同一个对象Str1, Str2 ="string","strint"print(Str1 is Str2) #位运算符是按位运算符是把数字看做二进制进行计算,当运算完后是新的补码,并不是原码# 位运算符:&(与) ,|(或),^(异或),~(取反)# &位运算符计算,在相应的位数上都为1,则该位的结果为1,否则为0# print(-5 & 7)"""-5的二进制 1000 0101-5的补码 1111 1011 7的二进制 0000 0111--------------------------5 & 7 = 0000 0011(二进制)= 3(十进制)"""# |位运算符计算,在相应的位数上只要有1,则该位为1,否则为0# print( -6 | 4)""" 6的二进制 0000 0110-6的二进制 1000 0110-6的反码 1111 1010 4的二进制 0000 0100------------------------ 6 | 4 = 0000 0110(二进制) = 6(十进制)-6 | 4 = 1111 1110 (二进制补码) = 1000 0010(原码) = -2"""# ^ 位运算符计算,在相对的位数上相异时,该位为1,否则为0# print(-7 ^ 2)"""-7的二进制:1000 0111 2的二进制:0000 0010----------------------- 7 ^ 2 :1000 0101 = -5 (十进制)""" # ~位运算符计算,对于二进制补码数据位取反# print(~7)""" 7的补码: 0000 0111 ~7的补码: 1111 1000 ~7的反码: 1111 0111 ~7的原码: 1000 1000 = -8 (十进制)""" # << 位运算符号:各二进制全部左移动若干位,有《右边的数字(数字只能是正整数)决定,# 高位丢弃(这里的高位不代表符号,代表的是值),低位补0# print(-1 << 8)""" -1 二进制 :1000 0001 左移动8位 :1001 0000 0000 = -2的8次方(十进制)""" # >> 位运算符:各二进制全部右移动,由>>右边的数字(正整数)决定,# 计算方式和<<位运算符一致# print(-256 >> 8)"""-256 二进制 :1001 0000 0000右移动8位 :1000 0001"""
原文地址:https://www.cnblogs.com/hjlin/p/10628402.html
时间: 2024-10-12 10:11:00