python常用运算符
- 算术运算符:+、-、*、/、%、**、//
- 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=、&=、|=、^=、>>=、<<=
- 比较运算符:==、!=、>、<、>=、<=
- 布尔运算符:and、or、not
- 位运算符:&、|、^、~、<<、>>
- 身份运算符:is、not is
- 成员运算符:in、not in
1、算术运算符
+ | 加 | a+b |
– | 减 | a-b |
* | 乘 | a*b |
/ | 除 | a/b |
% | 取模,只取余数部分 | a%b |
** | 幂运算,a的b次方 | a**b |
// | 取整除,只取整数部分 | a//b |
print(33+21) #加法 54
print(12-3) #减法 9
print(2*4) #乘法 8
print(11/2) #除法 5.5
print(11//2) #整除 5
print(11%2) #取余 1
print(2**4) #幂运算 16 2的4次方
一正一负的整除(同号为正,异号为负):要向下取整
print(9//4) #2
print(-9//-4) #2
print(9/-4) #-2.25
print(9//-4) #-3 向下取整
print(-9/4) #-2.25
print(-9//4) #-3 向下取整
一正一负的取余:余数=被除数-除数*商
print(9%-4) #-3 余数=被除数-除数*商 9-(-4)*(-3)
print(-9%4) #3 -9-4*(-3)
2、赋值运算符
运算顺序是从右到左。
= | 赋值运算符 | x = 3 |
+= | 加法赋值运算符 | x+=y 等同于 x=x+y |
-= | 减法赋值运算符 | x-=y 等同于 x=x-y |
*= | 乘法赋值运算符 | x*=y 等同于 x=x*y |
/= | 除法赋值运算符 | x/=y 等同于 x=x/y |
%= | 取余赋值运算符 | x%=y 等同于 x=x%y |
//= | 整除赋值运算符 | x//=y 等同于 x=x//y |
**= | 幂赋值运算符 | x**=y 等同于 x=x**y |
x = 3+4 #将3+4的值赋给x
print(x)
x,y,z = 8,2.5,'hello' #多个变量赋值,=两边的个数要相同
print('x =',x,'y =',y,'z =',z)
a = b = 20 #多个变量赋相同的值,链式赋值,
print(a,b)
print(id(a),id(b))#实际上只有一个对象,但有a,b两个引用指向他。
a = 10
a += 20 #相当于a = a + 20,先计算a+20的值,再赋给a
print(a) #30
a -= 10 #相当于a = a - 10
print(a) #20
a *= 2 #相当于a = a * 2
print(a) # 40
a /= 3 #相当于a = a / 3
print(a) #13.333333333333334
a //= 2 #相当于a = a // 2
print(a) #6.0
a %= 5 #相当于a = a % 5
print(a) #1.0
b = 2
b **= 4 #相当于b = b**4
print(b)
3、比较运算符
也叫关系运算符,常用作判断,返回结果为布尔类型(True/False),True —> 1 False —> 0。
== | 比较值是否相等 | x==y |
!= | 比较值是否不相等 | x!=y |
> | 大于 | x>y |
< | 小于 | x<y |
>= | 大于或等于 | x>=y |
<= | 小于或等于 | x<=y |
a,b = 20,30
print('a == b吗?',a == b) #False
print('a != b吗?',a != b) #True
print('a > b吗?',a > b) #False
print('a < b吗?',a < b) #True
print('a >= b吗?',a >= b) #False
print('a <= b吗?',a <= b) #True
==比较的是值value。
4、布尔运算符
and | 两个语句同为真,则返回True | x>5 and x<9 |
or | 其中一个 语句为真,返回True | x>3 or x<5 |
not | 反转结果,结果为true,返回false,结果为false,返回True | not(x>5 and x<9 |
a,b = 10,20
print(a>5 and b>5) #True True and True ---> True
print(a>15 and b>15)#False False and True ---> False
print(a>5 and b>25) #False True and False ---> False
print(a>15 and b>20)#False False and False ---> False
x,y = 1,2
print(x==1 or y==2) #True True or True ---> True
print(x!=1 or y==2) #True False or True ---> True
print(x==1 or y!=2) #True True or False ---> True
print(x!=1 or y!=2) #False False or False ---> False
bo = True
print(not(bo)) #False 对结果取反
5、身份运算符
这里比较的是对象的id(对象有id,type,Value三部分组成),也就是内存地址,可以通过内置函数id()来查看内存地址是否相同。
is | 若两个变量是同一对象,返回true |
is not | 若两个变量不是同一对象,返回true |
a = 20
b = 20
print(a == b) #True 说明a和b的value相同
print(a is b) #True 说明a和b的id标识相同。
list1 = [10,20,30,40]
list2 = [10,20,30,40]
print(list1 == list2) #True list1和list2的值相同
print(list1 is list2) #False list1和list2的id不相同
print('list1=',id(list1),'list2=',id(list2)) # list1= 2108562143872 list2= 2108562142400
print(list1 is not list2) #True
6、成员运算符
用于判断对象是否是指定序列的元素之一,返回结果是True或者False。
in | 对象在具有指定值的序列中,返回True |
not in | 对象不在具有指定值的序列中,返回True |
str1 = 'hello,world'
print('e' in str1) #True e在str1中,所以返回true
print('p' in str1) #False p不在str1中,所以返回False
lst1 = ['java','python','javscript']
print('python' in lst1) #True
print('apple' not in lst1) #True
7、位运算符
位运算符要把数字转为二进制来进行计算。
& | 按位与:对应位数都为1,结果才为1,否则为0 | |
| | 按位或:对应位数都为0,结果才为0,否则为1 | |
^ | 按位异或:两个相应位为异(值不同),则为1,否则为0 | |
~ | 按位取反:将每个二进制位取反,1变为0,0变为1 | |
<< | 左移位运算:把二进制位全部左移指定位数,高位溢出舍弃,低位补0 | |
>> | 右移位运算:把二进制位全部右移指定位数,低位溢出舍弃,高位补0 |
#8: 0 0 0 0 1 0 0 0
#16:0 0 0 1 0 0 0 0
print(8&16) #0 按位与,同为1时,结果才为1
print(8|16) #24 按位或,同为0时,结果才为0
print(8^16) #24 按位异或,对应位相异,结果为1,否则为0
print(8<<1) #16 左移1位,高位溢出舍弃,低位补0,相当于乘以2
print(8<<2) #32
print(8>>1) #4 右移1位,低位溢出舍弃,高位补0,相当于除以2
print(16>>2) #4 右移2位,低位溢出舍弃,高位补0,相当于除以4
运算符优先级
运算符优先级由高到低:
() | 有括号的先算括号里面的 |
** | 算术运算符 |
*、/、%、// | 算术运算符 |
+、- | 算术运算符 |
>>、<< | 位运算符 |
& | 位运算符 |
^、| | 位运算符 |
>、<、>=、<=、==、!= | 比较运算符 |
=、%=、/=、//=、-=、+=、*=、**=、 | 赋值运算符 |
is 、is not | 身份运算符 |
in、not in | 成员运算符 |
and、or、not | 逻辑运算符 |
() —> 算术运算符(先算乘除,再算加减,有幂运算的先算幂运算) —-> 位运算符 —-> 比较运算符(结果为True或者False) —-> 布尔运算符 —-> 赋值运算符
© 版权声明
本站网络名称:
尤尤博客
本站永久网址:
https://www.yxfseo.cn
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,请在24H内删除。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
暂无评论内容