python运算符

183 阅读3分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。

前言

运算符,顾名思义,是一定会有一个结果出来,不然算什么?只不过这个结果,不一定是咱们熟知的int,有可能是bool,都有可能需要联合运算才会有结果。那么在python语言编程中,有哪些运算符呢?

image.png

算术运算符

算术,咱们熟知的加减乘除算吧,再高级点就是%取模、//取整除、**幂;它们不一定只能引用在int类型上,例如+、*可以用在可迭代对象<序列类型>,如:str、list、tuple都可以

  • int类型的加减乘除法就不再代码演示了
# + * 可以在序列类型上运行
print("*" * 3) # 输出:***

print("a" + "b") # 输出:"ab"
  • 演示一下取模<取除法的余数>,使用场景:在咱们后台进行分库分表的时候有用过
print(2 % 2) # 输出:0
print(1 % 2) # 输出:1

比较运算符

比较运算,是大于、小于之类的,它们返回的结果却是bool类型,即True非False

print(1 > 3) # 输出:False
  • 等于这类比较运算,是==等等于,比较的是两个变量的值

  • 常常与逻辑运算符组合使用,如:1>2 or 2>3

赋值运算符

这个应该算是学编程最早使用到的运算符,即变量赋值:a=1

  • +=这个赋值运算符,分析一下,左边是+算术运算符,右边是=赋值运算符,优先级当然是算术运算符,那么a=3;a+=1,解读一下就是a先+1再=赋值给a
a = 1
b = 2
c = a + b
c += a

print(c) # 输出:4

逻辑运算符

它有三个关键词:and、or、not,中文翻译就是逻辑与、逻辑或、逻辑非

a = 1
b = 2

# 两头为True则为True,否则一方为False则为False
print(bool(a and b)) # 输出:True

c = 0

# 任意一头为True则为True,两头为False才为False
print(bool(a or c)) # 输出:True

# python中0为False,not取反,False取反则为True
print(bool(c)) # 输出:True

成员运算符

成员运算,只分在和不在,in在则为True,not in不在则为False;常用于序列类型(dict也算)

a = "sdsdfsd"

# 存在则为True,如果明知存在,再加not表示取反
print(bool("s" in a)) # 输出:True
print(bool("s" not in a)) # 输出:False

# 如果明知不存在not in则为True
print(bool("ss" not in a)) # 输出:True

位运算符

这个比较特别,大多是在算法中用到的评率较多,在自动化测试的时候,可能就不常见

身份运算符

它也只有两个可选项,is 和 is not;比较的是变量的引用对象

>>> a = 10
>>> b = 10
>>> print(bool(10 is a))
<stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?
True
>>> print(bool(b is a))
True
>>> print(bool(b is not a))
False
>>> a=11
>>> print(bool(b is not a))
True
  • 如果拿值和变量使用is去判断,则会有语法警告

运算符的优先级

算术运算符> 位运算符> 比较运算符> 等于运算符> 赋值运算符> 身份运算符> 成员运算符> 逻辑运算符

扩展一下:序列类型

image.png