Python中基本运算符&复合运算符&运算符优先级
基本运算符
>>> a=4 >>> 3<a<10 True >>> a = 0b11001 >>> b = 0b01000 >>> a 25 >>> b 8 >>> c = a|b >>> c 25 >>> bin(c) '0b11001' >>> bin(a&b) '0b1000' >>> bin(a^b) '0b10001' >>> a=3 >>> a<<2 12 >>> a<<3 24 >>> a = 8 >>> a<<1 #左移一位相当于乘以2 16 >>> a<<2 32 >>> a>>1 #右移一位相当于除以2 4 >>> a>>2 2 >>> 3+2 5 >>> "3" + "2" '32' >>> [10,20,30] + [5,10,100] [10, 20, 30, 5, 10, 100] >>> 3*2 6 >>> "sxt" * 3 'sxtsxtsxt' >>> [10,20,30] * 3 [10, 20, 30, 10, 20, 30, 10, 20, 30] >>> |
复合赋值运算符
注意:与C和JAVA不一样,Python不支持自增(++)和自减(--),a+=1
运算符的优先级
运算符优先级问题
>>> (5+10*x)/5-13*(y-1)*(a+b)/x+9*(5/x+(12+x)/y) Traceback (most recent call last): File "<pyshell#34>", line 1, in <module> (5+10*x)/5-13*(y-1)*(a+b)/x+9*(5/x+(12+x)/y) NameError: name 'x' is not defined >>> |