算术运算符

在以上的内容中,我们已经涉及了加、减、乘、除、取余、取模、幂运算共7种运行。这类用于运算的符号叫做“运算符”,之前我们涉及的7种运算符都属于“算术运算符”。

运算符

功能

+

数字+数字=求和;字符串+字符串=按前后顺序合并字符串

-

数字-数字=计算差值

*

数字*数字=求积;字符串*数字=重复若干次的字符串

/

数字/数字=求商

%

数字%数字=取余(除法的余数部分)

//

数字//数字=取模(商的整数部分)

**

数字**数字=幂运算(前数的后数次幂)

a = 5
b = 3
print(a + b) # 输出值: 8
print(a - b) # 输出值: 2
print(a * b) # 输出值: 15
print(a / b) # 输出值: 1.6666666666666667
print(a % b) # 输出值: 2
print(a // b) # 输出值: 1
print(a ** b) # 输出值: 125

除了算术运算符以外,还有赋值运算符、比较运算符、逻辑运算符、成员运算符、身份运算符、位运算符。

赋值运算符

下面,我们先来了解和算术运算符一样,也与计算相关的赋值运算符。这类运算符可以在为变量赋值的同时进行进行运算。

运算符

功能

=

将等号后的内容赋值给等号前的变量;例如:a=3就是将3赋值给了变量a

+=

将等号后的内容加给等号前的变量,例如:a+=3就等同于a=a+3

-=

将等号后的内容减给等号前的变量,例如:a-=3就等同于a=a-3

*=

将等号后的内容乘给等号前的变量,例如:a*=3就等同于a=a*3

/=

将等号前的内容作为被除数,等号后的内容作为除数,并将除法的结果赋值给等号前的变量;例如:a/=3就等同于a=a/3

%=

将等号前的内容作为被除数,等号后的内容作为除数,并将取余的结果赋值给等号前的变量;例如:a%=3就等同于a=a%3

//=

将等号前的内容作为被除数,等号后的内容作为除数,并将取模的结果赋值给等号前的变量;例如:a//=3就等同于a=a//3

**=

计算等号前数的等号后数次幂,并将结果赋值给等号前的变量;例如:a**=3就等同于a=a**3

b = 3
a = 5
a += b
print(a) # 输出值: 8
a = 5
a -= b
print(a) # 输出值: 2
a = 5
a *= b
print(a) # 输出值: 15
a = 5
a /= b
print(a) # 输出值: 1.6666666666666667
a = 5
a %= b
print(a) # 输出值: 2
a = 5
a //= b
print(a) # 输出值: 1
a = 5
a **= b
print(a) # 输出值: 125

比较运算符

比较运算符是用来比较两个变量之间的大小关系的,其比较结果为布尔型。

运算符

功能

==

判断前后两个变量是否相同;若两个变量相同则返回True,反之返回False

!=

判断前后两个变量是否不相同;若两个变量不相同则返回True,反之返回False

>

x>y即为判断x是否大于y;若x大于y,则返回True,反之返回False

<

x<y即为判断x是否小于y;若x小于y,则返回True,反之返回False

>=

x>=y即为判断x是否大于或等于y;若x大于或等于y,则返回True,反之返回False

<=

x<=y即为判断x是否小于或等于y;若x小于或等于y,则返回True,反之返回False

b = 3
a = 5
print(a == b) # 输出值: False
print(a != b) # 输出值: True
print(a > b) # 输出值: True
print(a < b) # 输出值: False
print(a >= b) # 输出值: True
print(a <= b) # 输出值: False

逻辑运算符

逻辑运算符是用来将简单的逻辑语句连接成更复杂的逻辑语句的运算符,包括或(or)、与(and)和非(not)。

运算符

功能

or

x or y;若x或y中有一个为True,结果即为True;只有x和y均为False结果才为False

and

x and y;若x和y中均为True,结果才为True;在x和y中只要有一个为False,结果就为False

not

not y;若y为True,则结果为False;若y为False,则结果为True

a = True
b = False
print(a and b) # 输出值: False
print(a or b) # 输出值: True
print(not b) # 输出值: True

成员运算符

成员运算符(in)是用来判断序列中是否包含某个元素的运算符,这个序列可以是字符串、集合、列表或元组等。若序列包含该元素,则返回结果为True,否则返回False。

a = [1, 2, 3, 4, 5]
b = 3
c = 6
print(b in a) # 输出值: True
print(c in a) # 输出值: False

身份运算符

身份运算符(is)是用来判断变量是否来自同一个对象。若为同一个对象,则结果为True,否则结果为False。

a = 20
b = 10
print(a is b) # 输出值: False
print(a is not b) # 输出值: True

位运算符(选学)

位运算符是将数字视作二进制来进行计算,运算效率更高,但我们在学习之初极少会用到。

a = 10  # 0000 1010
b = 5 # 0000 0101
print(a & b) # 输出值: 0
print(a | b) # 输出值: 15(0000 1111)
print(a ^ b) # 输出值: 15(0000 1111)
print(~a) # 输出值: -11(1111 0101)
print(a << 2) # 输出值: 40(0010 1000)
print(a >> 2) # 输出值: 2(0000 0010)

运算符

功能

&

按位与:若两个变量在某一位均为1,则该位为1;例如:1010&0101=0000

/

按位与:若两个变量在某一位只有有一个为1,则该位为1;例如:1010&0101=1111

^

按位异:若两个变量在某一位取值不同,则该位为1;例如:1010&0101=1111

~

按位取反:将变量在所有位上的值取反,相当于计算-x-1;例如:~00001010=11110101

<<

左移位:a<<2即将a向左移动两位,相当于乘以4;例如:00001010<<2=00101000

>>

右移位:a>>2即将a向右移动两位,相当于除以4;例如:00001010>>2=00000010