python中的运算符大全

运算符:运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算
python支持的运算符:

  1. 算术运算符
  • 两个对象相加或者相同数据类型的拼接 +
    1+2+False+True
    print(“234”+“123”)
    print([1,2,3,45]+[1,“234”,True,3.14])
    》》》
    4
    “234123”
    [1, 2, 3, 45, 1, ‘234’, True, 3.14]
  • 一个数减去另一个数 -
    1-True
    》》》
    0
  • 两个数相乘或是返回一个被重复若干次的字符串*
    5*False
    print(‘asjkfdhsk我’*2)
    》》》
    0
    asjkfdhsk我asjkfdhsk我
  • 除法/
    3.556/5522
    》》》
    0.0006439695762404926
    5/False
    》》》
    Traceback (most recent call last):
    File “<pyshell#1>”, line 1, in
    ZeroDivisionError: division by zero
    6/3
    》》》
    2.0
  • 返回除法的余数%
    [5%2,‘widjj’]
    》》》
    [1, ‘widjj’]
  • 返回x的y次幂**
    2**6
    》》》
    64
  • 取整除 - 向下取接近除数的整数//
    9//2
    -9//2
    》》》
    4
    -5

2.比较运算符

  • 等于 - 比较对象是否相等==
  • 不等于 - 比较两个对象是否不相等!=
  • 大于 - 返回x是否大于y >
  • 小于 - 返回x是否小于y <
  • 大于等于 - 返回x是否大于等于y >=
  • 小于等于 - 返回x是否小于等于y <=

3.赋值运算符
****= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

4.位运算符
按位运算符是把数字看作二进制来进行计算的
在这里插入图片描述

a=60#0011 1100
b=13#0000 1101
print(a&b)
print(a|b)
print(a^b)
print(~a)
print(a<<2)
print(a>>2)
12#0000 1100
61#0011 1101
49#0011 0001
-61#1100 0011
240#1111 0000
15#0000 1111

5.逻辑运算符
在这里插入图片描述

a=5
b=7
if (a and b):
    print("a和b都为True")
else:
    print("a和b至少有一个为假")
a=0
if (a and b):
    print("a和b都为True")
else:
    print("a和b至少有一个为假")在这里插入代码片
a和b都为True
a和b至少有一个为假

**python 中的 and 从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值;
or 也是从左到有计算表达式,返回第一个为真的值;如果都为真或假,则返回最后一个值
在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了 __ nonzero __ () 或 __ len __ () 方法且方法返回 0 或False,则其实例也被当作False,其他对象均为True

print(1 and 0)
print(1 and True)
print(True and 1)
print(False and 0)
print(0 and False)
print(False or 0)
print(0 or False)
print(-1 or 0)
print(0 or 1)
print(not 0)
print(not '')
print(not 1)
# and:前面为假(0 或者 False)则表达式为假,否则表达式为后面的值;
# or:前面为真(非 0 或者非 False)则表达式为前面的值,否则表达式为后面的值;
0
True
1
False
0
0
False
-1
1
True
True
False

a=0
b=7
if not a:
    print("a和b都为True")
else:
    print("a和b至少有一个为假")
if not b:
    print("a和b都为True")
else:
    print("a和b至少有一个为假")
a和b都为True
a和b至少有一个为假
print(1 and 2 or not 1)
print(1 and not 2 or False)
print(not True  and False or False)
print(not False or True and False)
print(True or False and not False)
print(False or not False and 0)
#优先级:not>and>or
2
False
False
True
True
0

6.成员运算符
在这里插入图片描述

a='a'
b='ab'
print(a in b)
print(a not in b)
c=[a,b]
print('a' in c)
print(a not in c)
True
False
True
False

7.身份运算符
在这里插入图片描述

a=5
b=6
c=5
print(id(a))
print(id(b))
print(id(c))
print(a is b)
print(a is c)
print(b is not c)
a=a+1
print(id(a))#变得内存地址与b一样了
print(a is not b)
#python 中,变量是以内容为基准而不是像 c 中以变量名为基准,所以只要你的数字内容是5,
# 不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问
1468033920
1468033952
1468033920
False
True
True
1468033952
False

上述所说的在脚本式编程环境类似pycharm中没有问题。但是在交互式环境中,编译器会有一个小整数池的概念,会把(-5,256)间的数预先创建好,而当a和b超过这个范围的时候,两个变量就会指向不同的对象了,因此地址也会不一样

>>> a=1000
>>> b=1000
>>> id(a)
2138803203856
>>> id(b)
2138803203824

is 判断两个对象是否为同一对象, 是通过 id 来判断的; 当两个基本类型数据(或元组)内容相同时, id 会相同, 但并不代表 a 会随 b 的改变而改变。

a=10000
b=10000
list1=['加油','Mr Xiao','0527',a]
list2=['Fighting','肖先生','0527',b]
print(list1[3] is list2[3])
list1=('加油','Mr Xiao','0527',a)
list2=('Fighting','肖先生','0527',b)
print(list1[3] is list2[3])
list1={10:'加油',11:'Mr Xiao',12:'0527',13:a}
list2={10:'Fighting',11:'肖先生',12:'0527',13:b}
print(list1[13] is list2[13])
True
True
True

8.运算符优先级
在这里插入图片描述

a=60#0011 1100
b=13#0000 1101
print(~a-4+1)
print(a|b&a^b)
-64
61
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值