python 运算符

运算符

运算符的定义

  • 运算符用于执行程序代码运算,会针对一个及一个以上操作数项目来进行运算。
  • 形如1 + 2 = 3,其中1,2是操作数,+是运算符。

python算术运算符

a = 5
b = 2
算术运算符描述实例
+表示两个对象相加a + b =5
-表示两个对象相减a - b = 2
*表示当两个对象都是整型或者浮点型时,返回两个对象的乘积;若第一个对象是字符串,第二个对象是整型,返回的结果为字符串重复若干次a * b = 10"a" * 5 = "aaaaa"
**幂运算,a ** b表示a的b次幂a ** b = 25
/表示第一个对象除以第二个对象a / b = 2.5
//整除,表示第一个对象整除第二个对象(向下取整)a // b = 2 ; -9 // 2 = -5
%求余运算,返回余数a % b = 1 ; -9 % 2 = 1
  • 注意:在python2.x中整数除以整数,结果返回整数,如果想得到浮点型数据,应该将其中一个整型数换成浮点型(float)。
  • 例:Python2.x运行:
    1 / 2 = 0
    float(1) / 2 = 0.5
    1 / float(2) = 0.5
a = 3
b = 2
print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} * {b} = {a * b}")
print(f"{a} ** {b} = {a ** b}")
print(f"{a} / {b} = {a / b}")
print(f"{a} // {b} = {a // b}")
print(f"-9 // 2 = {-9 // 2}")
print(f"{a} % {b} = {a % b}")
print(f"-9 % 2 = {-9 % 2}")

代码运行结果:
在这里插入图片描述

比较运算符

a = 3
b = 2
比较运算符描述实例
==表示比较两个对象的值是否相等(a == b) 返回的结果为False
!=,<>表示比较两个对象的值是否不相等(a != b),(a <> b) 返回的结果为True
>x > y;表示比较x是否大于y(a > b) 返回的结果为True
>=x >= y;表示比较x是否大于等于y(a >= b) 返回的结果为True
<x < y;表示比较x是否小于y(a < b) 返回的结果为False
<=x <= y;表示比较x是否小于等于y(a <= b) 返回的结果为False
  • 注意:python3.x不支持<>,所以比较两个对象的值是否不相等应该用!=,python2.x支持<>。
a = 3
b = 2
print(f"{a} == {b} 返回的结果为 {a == b}")
print(f"{a} != {b} 返回的结果为 {a != b}")
# print(f"{a} <> {b} 返回的结果为 {a <> b}")
print(f"{a} > {b} 返回的结果为 {a > b}")
print(f"{a} >= {b} 返回的结果为 {a >= b}")
print(f"{a} < {b} 返回的结果为 {a < b}")
print(f"{a} <= {b} 返回的结果为 {a <= b}")

代码运行结果:
在这里插入图片描述

赋值运算符

a = 3
b = 2
c = 0
赋值运算符描述实例
=表示普通的赋值运算符c = a + b
+=表示加法赋值运算符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
a = 3
b = 2
c = a + b
print(f"c = a + b ;返回的结果c = {c}")
c += a
print(f"c += a ;返回的结果c = {c}")
c -= a
print(f"c -= a ;返回的结果c = {c}")
c *= a
print(f"c *= a ;返回的结果c = {c}")
c /= a
print(f"c /= a ;返回的结果c = {c}")
c **= a
print(f"c **= a ;返回的结果c = {c}")
c //= a
print(f"c //= a ;返回的结果c = {c}")
c %= a
print(f"c %= a ;返回的结果c = {c}")

代码运行结果:
在这里插入图片描述

位运算符

位运算符描述
&按位与,参与运算的两个值,如果两个相应位都为1,则该位结果为1,否则为0
|按位或,参与运算的两个值,如果两个相应位只要有一个为1,则该位结果为1,否则为0
^按位异或,当两个相应的位相异时,结果为1,否则为0
~按位取反,对数据的每个的二进制位取反,~x = -x-1
<<左移运算符,运算数的每个二进制位全部左移若干位,<<右边的的数字表示移动的位数,a = 111100,a<<2 = 0b11110000 == 240
>>右移运算符,运算数的每个二进制位全部右移若干位,<<右边的的数字表示移动的位数,a = 111100,a>>2 = 0b001111 == 15
a = 25
b = 15
a_er = bin(a).replace("0b", "")
b_er = bin(b).replace("0b", "")
print(f"{a} & {b} = {a & b}")
print(f"{a_er} & {b_er} = {bin(a & b).replace('0b', '')}")
print(f"{a} | {b} = {a | b}")
print(f"{a_er} | {b_er} = {bin(a | b).replace('0b', '')}")
print(f"{a} ^ {b} = {a ^ b}")
print(f"{a_er} ^ {b_er} = {bin(a ^ b).replace('0b', '')}")
print(f"~{a} = {~a}")
print(f"~{a_er} = {bin(~a).replace('0b', '')}")
print(f"{a} << 2 = {a << 2}")
print(f"{a_er} << 2 = {bin(a << 2).replace('0b', '')}")
print(f"{a} >> 2 = {a >> 2}")
print(f"{a_er} >> 2 = {bin(a >> 2).replace('0b', '')}")

代码运行结果:
在这里插入图片描述

逻辑运算符

逻辑运算符描述
andx and y;布尔"与" ;如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。即只有x和y全为True,返回True
orx or y;布尔"或";如果 x 是True,它返回 x 的值,否则它返回 y 的计算值。即只有x和y全为False,返回False,否则返回True
notnot x;布尔"非";如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
a = True
b = True
c = False
d = False
print(f"({a} and {b}) 返回值是{a and b}")
print(f"({a} and {c}) 返回值是{a and c}")
print(f"({c} and {b}) 返回值是{c and b}")
print(f"({c} and {d}) 返回值是{c and d}")
print(f"({a} or {b}) 返回值是{a or b}")
print(f"({a} or {c}) 返回值是{a or c}")
print(f"({c} or {b}) 返回值是{c or b}")
print(f"({c} or {d}) 返回值是{c or d}")
print(f"(not {a}) 返回值是{not a}")
print(f"(not {c}) 返回值是{not c}")

代码运行结果:
在这里插入图片描述

成员运算符

成员运算符功能描述
in如果在指定的容器类对象中找到值返回 True,否则返回 False
not in如果在指定的容器类对象中找不到值返回 True,否则返回 False
  • 判断某个变量值是否在字典中,主要判断变量值是否在字典的key中。
a1 = [0, 1, 2, 3, 4]
b1 = {"a": 1, "b": 2, "c": 3}
a2 = []
a3 = []
for a in a1:
	if a in b1:
		a2.append(a)
print(f"a2 = {a2}")
b2 = {1: "a", 2: "b", 3: "c"}
for a in a1:
	if a in b2:
		a3.append(a)
print(f"a3 = {a3}")

代码运行结果:
在这里插入图片描述

身份运算符

身份运算符功能描述
is表示判断两个对象的id值是否一致,如果一致返回True,否则返回False
is not表示判断两个对象的id值是否不一致,如果不一致返回True,否则返回False

运算符优先级

**指数(幂运算)
~, +, -按位取反,一元加号(+x),一元减号(-x)
*, /, %, //乘,除,取余,整除
+, -加法,减法
<<, >>左移,右移
&按位与
^, |按位异或,按位或
<=, <, >, >=比较运算符
<>, ==, !=等于,不等于运算符
=, %=, /=, //=, -=, +=, *=, **=赋值运算符
is, is not身份运算符
in, not in成员运算符
and, not, or逻辑运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值