python运算


算术运算

# 1. 加 +
a = 1 + 4.5

# 2. 减 -
b = 2 - 3

# 3. 乘 *
c = 2 * 3

# 4. 除 /
d = 3 / 4

# 5. 整除 //
e = 3 // 4 # 等价于int(3/4)

# 6. 求幂 **
f = 3 ** 2

# 7. 取模
g = 3 % 2

# 8. +=
a += 3 # 等价于 a = a + 3

# 9. -=
a -= 3 # 等价于 a = a - 3

# 10. *=
a *= 2 # 等价于 a = a * 2

# 11. /=
a /= 2 # 等价于 a = a / 2

# 12. //=
a //= 2 # 等价于 a = a // 2

# 13. **=
a **= 2 # 等价于 a = a ** 2

# 14. %= 
a %= 4 # 等价于 a = a % 4

比较运算

比较运算符结果为bool类型的值。

a = 1
b = 2

# 1. 大于 >
a > b # False

# 2. 小于 <
a < b # True

# 3. 等于 ==
a == b # False

# 4. 不等于 !=
a != b # True

# 5. 大于等于 >=
a >= b # False

# 6. 小于等于 <=
a <= b # True
并列比较

对于诸如a>b>c这类的并列比较运算,在cpp或java中会被解释为(a>b)>c,即前面一个比较运算的布尔结果用于作为后一个比较的左操作数,这不符合数学运算规则。但python中则会将其解释为a>b and b>c,符合数学运算规则。


逻辑运算

用于布尔值之间的运算。

# 1. 与 and
2 > 1 and 3 > 2 # True

# 2. 或 or
2 > 4 or 6 > 3 # True

# 3. 非 not
not 3 > 4 # True
短路

对于与或运算,当第一个子表达式即可确定表达式结果时,则并不会对第二个子表达式进行运算,这被称之为短路。在短路的情况下,即便第二个子表达式存在逻辑错误,也不影响程序执行。

a = 3 > 2 or 3 // 0
# 显然第二个子表达式3//0出现除数为零的异常
# 第一个子表达式即可确定整个逻辑运算的真值
# 故程序并不会执行第二个子表达式,程序正常运行,a得到True

集合运算

对于集合数据类型,python支持数学上集合的特殊运算,如交、差、并等。

set1 = {1,3,4,5,6}
set2 = {2,3,6,7,9}

# 1. 交 &
set3 = set1 & set2

# 2. 并 |
set4 = set1 | set2

# 3. 差 -
set5 = set1 - set2

# 4. 异或 ^
set6 = set1 ^ set2

特殊运算

容器元素个数-len

len(lis)用于求容器中元素的个数。

st = {1,2,3,4,5}
size = len(st)
地址判等-is

a is b用于比较a和b的数据空间所在地址是否相同,即a和b是否是同一个东西。

lis = [1,2,3]

lis2 = lis
print(lis == lis2) # True,a与b元素数值均对应相同
print(lis is lis2) # True,a与b指向同一个数据空间

lis3 = lis[:] 
print(lis == lis3) # True,a与b元素数值均对应相同
print(lis is lis3) # False,a与b指向两个不同的数据空间

除了用于判断元素是否是相同引用外,is大多时候用于判断变量是否为None,相较于==可以有更高的效率。

a = None
if a is not None:
	print("not")
包含关系判断-in

in除了可以用于for迭代,还可以用于判断某一元素是否包含于容器中。

lis = [1,2,3,4,5]
a = 3
if a in lis:
	print("true")

通常,对于并列判等的条件语句也可以使用in来简化。

a = int(input("请输入一个整数:"))

# 并列写法
if a == 3 or a == 5 or a == 7:
	print("true")

# in简化写法
if a in [3,5,7]:
	print("true")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值