前言
本文简单介绍了Python中一些常见的运算符
1.算术运算符
在Python种我们常见的算数运算符有七种,分别是:“+”(求和),“-”(求差),“*”(求积),“/”(求商),“%”(求余),“//”(取整),“**”(次方)。
其中求和/差/积/商本文不再赘述。
首先来说求余运算(%):求余运算就是将除法运算中的余数打印输出,通常用来判定奇偶数或者倍数。
d = 20
d = d % 3
print(d)
此处为一个简单的求余运算,将20除以3的余数打印输出,结果为2.
然后来说取整运算(//):取整运算就是将数据返回整数。
d = 20
e = 3
f = d // e
print(f)
此处为一个简单的求余运算,将20除以3取整并打印输出,结果为6。
最后来说次方运算(**):对于任意的m**n,就是将n个m相乘,次方运算的优先级是算数运算符种最高的。
a = 2**4
print(a)
此处为一个简单的次方运算,将4个2相乘并打印输出,结果为6。
2.赋值运算符
在Python种我们常见的赋值运算符有八种,分别是:“=”(赋值),“+=”(先相加再赋值),“-=”(先相减在赋值),“*=”(先相乘再赋值),“/=”(先相除再赋值),“%=”(先取余再赋值),“//=”(先取整再赋值),“**=”(先次方再赋值)。
其中赋值、先相加/减/乘/除再赋值本文不再赘述。
首先来说先取余再赋值(%=):下方的a %= 3等价于a = a % 3,结果为2。
a = 20
a %= 3
print(d)
然后来说先取整再赋值(//=):下方的b //= 3等价于b = b % 3,结果为3。
b = 10
b //= 3
print(b)
最后来说先次方再赋值(**=):下方的c **= 2等价于c = c ** 3,结果为4。
c = 2
c **= 2
print(c)
3.比较运算符
在Python种我们常见的比较运算符有六种,分别是:“==”(等于),“!=”(不等于),“>”(大于),“>=”(大于等于),“<”(小于),“<=”(小于等于)。
由于比较运算符比较简单,在此我们以不等于作为示例进行展示:
a = 5
b = 5
c = a != b
print(c)
a = 4
b = 5
d = a != b
print(d)
这段代码输出的结果为:False True
需要注意的是:
比较运算符的比较结果是以布尔值形式输出的。
比较运算符运算时,变量的类型必须相同,否则无法进行比较。
两个被赋予字符串的变量之间也可以进行比较大小:
a = "a0"
b = "a1"
c = a >= b
print(c)
a = "wwb"
b = "wmc"
c = a >= b
print(c)
a = "a"
b = "abc"
c = a >= b
print(c)
a = "z"
b = "abc"
c = a >= b
print(c)
四次输出的结果分别为:False True False True
第一次输出:Python中字符串的比较是按照从左至右第二个不同的字符来看的,a和b两个变量中都有“a”,但是“0”<“1”,所以结果为False。
第二次输出:从第二个字符开始有差异,“w”在字典上的顺序大于“m”,一旦比较出来大小就不再看后面的,故输出结果为True。
第三次输出:变量a只有一个字符“a”,而变量b还有“bc”,显然变量b比较大,输出结果为False。
第四次输出:虽然变量a只有一个字符,变量b有三个字符,由于“z”在字典上的顺序大于“a”,Python就认为整个字符串“z”大于“abc”,即使“abc”有更多的字符,但在比较的第一个字符上就已经决定了整个字符串的大小关系。
4.逻辑运算符
在Python种我们常见的逻辑运算符有三种,分别是:“and”(并且),“or”(或者),“not”(非)。
需要注意的是:逻辑运算符的运算结果并不返回True或False,而是返回左侧或者右侧的数据。
首先来说并且(and):
对于a and b,a真b真结果才是真,若左侧为真,返回右侧,若左侧为假,返回左侧。
下面是代码示例:
a = 1
b = 0
print(a and b)
a = None
b = "abc"
print(a and b)
输出结果分别为:0 None
然后来说或者(or):
对于a or b,a假b假结果才是假,若左侧为假,返回右侧,若左侧为真,返回左侧。
下面是代码示例:
a = 1
b = 0
print(a or b)
a = None
b = "abc"
print(a or b)
输出结果分别为:1 abc
最后来说非(not),非真为False,非假为True。
下面是代码示例:
a = 1
print(not a)
a = None
print(not a)
输出结果分别为:False True
5.位运算符
在Python种我们常见的位运算符有三种,分别是:“&”(按位与),“|”(按位或),“^”(按位异或)。
首先来说按位与(&),两个都是1结果才是1。
下面是代码示例:
# 5转换为2进制为101,4转换为2进制为100
# a = 0b101
# b = 0b100
# 显然a & b为100,转换为十进制为4
a = 5
b = 4
print(a & b)
然后来说按位或(|),两个都是0结果才是0。
下面是代码示例:
# 5转换为2进制为101,4转换为2进制为100
# a = 0b101
# b = 0b100
# 显然a | b为101,转换为十进制为5
a = 5
b = 4
print(a | b)
最后来说按位异或(^),相同为0,不同为1。
下面是代码示例:
# 5转换为2进制为101,4转换为2进制为100
# a = 0b101
# b = 0b100
# 显然a ^ b为001,转换为十进制为1
a = 5
b = 4
print(a ^ b)
6.成员运算符
在Python种我们常见的成员运算符有两种,分别是:in和not in,它们的主要作用是判断一个元素是否是内部元素,并且in的后面需要由多个元素组成。
下面是代码示例:
print("el" in "hello")
print("123" not in "hello")
print("ho" in "hello")
三次输出的结果分别为:True True False
我们发现,第三次输出的结果为flase,故使用in进行判断时,两个元素必须是连续的才行。