运算符是用于执行特定操作的特殊符号,如加法、减法、比较等。
用于执行数学运算。
a = 10
b = 3
print(a + b) print(a - b) print(a * b) print(a / b) print(a // b) print(a % b) print(a ** b)
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| + | 加法 | 10 + 3 | 13 |
| - | 减法 | 10 - 3 | 7 |
| * | 乘法 | 10 * 3 | 30 |
| / | 除法 | 10 / 3 | 3.333... |
| // | 整除 | 10 // 3 | 3 |
| % | 取余 | 10 % 3 | 1 |
| ** | 幂运算 | 10 ** 3 | 1000 |
print(-10 // 3) print(-10 % 3)
s1 = "Hello"
s2 = "World"
print(s1 + " " + s2)
print(s1 * 3)
用于比较两个值,返回布尔值。
a = 10
b = 20
print(a == b) print(a != b) print(a > b) print(a < b) print(a >= b) print(a <= b)
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 10 == 20 | False |
| != | 不等于 | 10 != 20 | True |
| > | 大于 | 10 > 20 | False |
| < | 小于 | 10 < 20 | True |
| >= | 大于等于 | 10 >= 10 | True |
| <= | 小于等于 | 10 <= 20 | True |
print("apple" < "banana")
print("Apple" < "apple")
x = 15
print(10 < x < 20)
print(10 < x and x < 20)
用于给变量赋值。
x = 10
name = "张三"
a = 10
a += 5
a -= 3
a *= 2
a /= 4
a //= 2
a %= 3
a **= 2
print(a)
| 运算符 | 示例 | 等价于 |
|---|---|---|
| = | x = 10 | x = 10 |
| += | x += 5 | x = x + 5 |
| -= | x -= 3 | x = x - 3 |
| *= | x *= 2 | x = x * 2 |
| /= | x /= 4 | x = x / 4 |
| //= | x //= 2 | x = x // 2 |
| %= | x %= 3 | x = x % 3 |
| **= | x **= 2 | x = x ** 2 |
a, b, c = 1, 2, 3
print(a)
print(b)
print(c)
x = y = z = 0
print(x, y, z)
a = 10
b = 20
a, b = b, a
print(a)
print(b)
用于组合布尔表达式。
a = True
b = False
print(a and b)
print(a or b)
print(not a)
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| and | 与 | True and False | False |
| or | 或 | True or False | True |
| not | 非 | not True | False |
and 运算符:
| A | B | A and B |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
or 运算符:
| A | B | A or B |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
def true_func():
print("true_func called")
return True
def false_func():
print("false_func called")
return False
print(false_func() and true_func())
print(true_func() or false_func())
print(1 and 2)
print(0 and 2)
print(1 or 2)
print(0 or 2)
print(bool(0))
print(bool(1))
print(bool(""))
print(bool("abc"))
用于对整数的二进制位进行操作。
a = 60
b = 13
print(a & b)
print(a | b)
print(a ^ b)
print(~a)
print(a << 2)
print(a >> 2)
| 运算符 | 描述 | 示例 |
|---|---|---|
| & | 按位与 | 两个位都为1,结果为1 |
| | | 按位或 | 两个位有一个为1,结果为1 |
| ^ | 按位异或 | 两个位不同,结果为1 |
| ~ | 按位取反 | 0变1,1变0 |
| << | 左移 | 各位全部左移若干位 |
| >> | 右移 | 各位全部右移若干位 |
a = 60
b = 13
print(bin(a))
print(bin(b))
print(bin(a & b))
print(bin(a | b))
用于测试序列中是否包含某个成员。
list1 = [1, 2, 3, 4, 5]
str1 = "Hello World"
print(3 in list1)
print(6 in list1)
print("World" in str1)
print("Python" not in str1)
| 运算符 | 描述 | 示例 |
|---|---|---|
| in | 在序列中 | 3 in [1,2,3] → True |
| not in | 不在序列中 | 6 in [1,2,3] → False |
用于比较两个对象的内存地址。
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a is c)
print(a is b)
print(a == b)
print(a is not b)
x = 256
y = 256
print(x is y)
x = 257
y = 257
print(x is y)
x = "hello"
y = "hello"
print(x is y)
x = "hello world"
y = "hello world"
print(x is y)
| 运算符 | 描述 |
|---|---|
| is | 判断两个对象是否是同一个对象 |
| is not | 判断两个对象是否不是同一个对象 |
从高到低的优先级:
| 优先级 | 运算符 | 描述 |
|---|---|---|
| 1 | ** | 幂运算 |
| 2 | ~ + - | 按位取反、正号、负号 |
| 3 | * / % // | 乘、除、取余、整除 |
| 4 | + - | 加、减 |
| 5 | >> << | 右移、左移 |
| 6 | & | 按位与 |
| 7 | ^ | | 按位异或、按位或 |
| 8 | <= < > >= | 比较运算符 |
| 9 | == != | 等于、不等于 |
| 10 | = %= /= //= -= += *= **= | 赋值运算符 |
| 11 | is is not | 身份运算符 |
| 12 | in not in | 成员运算符 |
| 13 | not or and | 逻辑运算符 |
result = 2 + 3 * 4
result = (2 + 3) * 4
print(result)
celsius = 25
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius}°C = {fahrenheit}°F")
num = 17
is_even = num % 2 == 0
print(f"{num} 是偶数:{is_even}")
height = 1.75
weight = 70
bmi = weight / (height ** 2)
print(f"身高:{height}米")
print(f"体重:{weight}公斤")
print(f"BMI:{bmi:.2f}")
age = 25
has_license = True
can_drive = age >= 18 and has_license
print(f"可以驾驶:{can_drive}")
本章我们学习了:
掌握各种运算符是编写复杂表达式的基础。在下一章中,我们将学习字符串的详细操作,了解如何处理文本数据。