1.运算符是什么
运算符是编程语言中的一种特殊符号,用于完成各种数值或逻辑计算。Python中的运算符与其他语言的运算符用法类似,使用运算符可以对变量进行赋值、比较、逻辑运算等操作。
Python 中的运算符有以下几种:
+ - * / % ** // == != && || ! & | ^ ~ << >> > < >= <=
2.算数运算符
算术运算包括加、减、乘、除、取模(取余数)和幂运算。
2.1 加法运算符
加法运算用于将两个数相加,可以用于数字类型、字符串类型等。
a = 10
b = 20
c = a + b
print(c) # 30
str1 = 'Hello'
str2 = 'World'
str3 = str1 + str2
print(str3) # HelloWorld
注意:加法运算符还具有字符串的拼接功能
2.2 减法运算符
减法运算用于将两个数相减,可以用于数字类型。
a = 10
b = 20
c = b - a
print(c) # 10
2.3 乘法运算符
乘法运算用于将两个数相乘,也可以用于字符串类型。
a = 10
b = 20
c = a * b
print(c) # 200
str1 = 'Hello'
str3 = str1 * 3
print(str3) # HelloHelloHello
2.4 除法运算符
除法运算用于将两个数相除,注意结果可能不是整数类型。
a = 10
b = 20
c = b / a
print(c) # 2.0
2.5 取模运算符
取模运算用于计算两个数相除的余数。
a = 10
b = 20
c = b % a
print(c) # 0
2.6 幂运算符
幂运算符是用于计算一个数的指数幂。
a = 2
b = 3
c = a ** b
print(c) # 8
3.比较运算符
比较运算符是用于比较两个值的大小的运算符。
3.1 等于运算符
等于运算符用于比较两个值是否相等,相等返回True,不等返回False。
a = 10
b = 20
print(a == b) # False
str1 = 'Hello'
str2 = 'World'
print(str1 == str2) # False
c = 10
print(a == c) # True
3.2 不等于运算符
不等于运算符用于比较两个值是否不相等,不相等返回True,相等返回False。
a = 10
b = 20
print(a != b) # True
str1 = 'Hello'
str2 = 'World'
print(str1 != str2) # True
c = 10
print(a != c) # False
3.3 大于运算符
大于运算符用于比较两个值的大小,左边的值大于右边的值返回True,否则返回False。
a = 10
b = 20
print(b > a) # True
c = 10
print(a > c) # False
3.4 小于运算符
小于运算符用于比较两个值的大小,左边的值小于右边的值返回True,否则返回False。
a = 10
b = 20
print(a < b) # True
c = 10
print(c < a) # False
3.5 大于等于运算符
大于等于运算符用于比较两个值的大小,左边的值大于等于右边的值返回True,否则返回False。
a = 10
b = 20
print(b >= a) # True
c = 10
print(c >= a) # True
d = 5
print(d >= a) # False
3.6 小于等于运算符
小于等于运算符用于比较两个值的大小,左边的值小于等于右边的值返回True,否则返回False。
a = 10
b = 20
print(a <= b) # True
c = 10
print(a <= c) # True
d = 15
print(a <= d) # False
4.赋值运算符
赋值运算符用于将一个值赋给变量。
a = 10
b = 20
c = a + b
print(c) # 30
a += 5 # 等价于 a = a + 5
print(a) # 15
b -= 2 # 等价于 b = b - 2
print(b) # 18
c *= 2 # 等价于 c = c * 2
print(c) # 60
d /= 4 # 等价于 d = d / 4
print(d) # 5.0
e %= 3 # 等价于 e = e % 3
print(e) # 1
f **= 2 # 等价于 f = f ** 2
print(f) # 49
g //= 2 # 等价于 g = g // 2
print(g) # 2
5.逻辑运算符
逻辑运算符用于比较两个值的逻辑关系。
5.1 逻辑与运算符
逻辑与运算符用于同时满足两个条件。
a = 10
b = 20
c = 5
print(a < b and c < a) # False
注意:逻辑运算符 and 和 or 都具有短路求值的特性。如果左边的表达式已经可以确定结果,则不会再执行右边的表达式。
5.2 逻辑或运算符
逻辑或运算符用于满足其中一个条件。
a = 10
b = 20
c = 5
print(a < b or c < a) # True
5.3 逻辑非运算符
逻辑非运算符用于对一个条件取反。
a = 10
b = 20
c = 5
print(not a < b) # False
6.位运算符
位运算符用于对数字按位进行操作。
6.1 按位与运算符
按位与运算符用于对两个数的每个二进制位进行操作,两个位都为1时,结果才为1,否则为0。
a = 60 # 二进制 0011 1100
b = 13 # 二进制 0000 1101
c = a & b # 二进制 0000 1100
print(c) # 12
6.2 按位或运算符
按位或运算符用于对两个数的每个二进制位进行操作,两个位都为0时,结果才为0,否则为1。
a = 60 # 二进制 0011 1100
b = 13 # 二进制 0000 1101
c = a | b # 二进制 0011 1101
print(c) # 61
6.3 按位异或运算符
按位异或运算符用于对两个数的每个二进制位进行操作,如果两个位值不同,结果为1,否则为0。
a = 60 # 二进制 0011 1100
b = 13 # 二进制 0000 1101
c = a ^ b # 二进制 0011 0001
print(c) # 49
6.4 按位取反运算符
按位取反运算符用于对一个数的每个二进制位进行取反操作,包括正负号。
a = 60 # 二进制 0011 1100
c = ~a # 二进制 1100 0011
print(c) # -61
6.5 左移运算符
左移运算符用于将一个数的二进制码向左移动指定的位数,在低位填充0。
a = 60 # 二进制 0011 1100
c = a << 2 # 二进制 1111 0000
print(c) # 240
6.6 右移运算符
右移运算符用于将一个数的二进制码向右移动指定的位数。
a = 60 # 二进制 0011 1100
c = a >> 2 # 二进制 0000 1111
print(c) # 15
7.成员运算符
成员运算符用于检测变量是否是某个序列的成员。
7.1 in运算符
in运算符用于检测变量是否是某个序列的成员。
a = [1, 2, 3, 4, 5]
b = 6
c = 3
print(b in a) # False
print(c in a) # True
7.2 not in运算符
not in运算符用于检测变量是否不是某个序列的成员。
a = [1, 2, 3, 4, 5]
b = 6
c = 3
print(b not in a) # True
print(c not in a) # False
8.身份运算符
身份运算符用于比较两个变量的内存地址是否相同。
8.1 is运算符
is运算符用于比较两个变量的内存地址是否相同。
a = 10
b = a
c = 5
print(a is b) # True
print(c is a) # False
8.2 not is运算符
not is运算符用于比较两个变量的内存地址是否不同。
a = 10
b = a
c = 5
print(c is not a) # True
print(b is not a) # False
9.运算符优先级
运算符优先级用于确定表达式中的运算符优先级。
Python中运算符的优先级顺序如下:
**
~ + -
* / % //
+ -
>> <<
&
^ |
>= > <= <
== !=
= %= /= //= -= += *= **=
10.总结
本文讲解了Python中的运算符,包括算数运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符。同时讲解了运算符的优先级,以及运算符的使用方法和细节问题。在Python编程中,掌握好运算符的使用方法可以提高编程效率和代码质量。