Python基础教程:算术、比较与逻辑运算符详解
本文系统介绍Python中的各类基本运算符。涵盖算术运算(加减乘除、取模、幂运算)及其在Python 3与2版本中的差异;详细解析比较、逻辑、位、赋值、身份及成员运算符的语法与用法,结合代码示例说明优先级与返回值类型,帮助开发者掌握Python核心运算逻辑。
Python 运算符主要用于对数值和变量执行各类操作,它们是进行逻辑判断和算术计算的标准符号。本文将深入探讨 Python 中不同类型的运算符及其具体应用。
- 运算符是指如 +、-、*、/ 等用于执行特定操作的特殊符号。
- 操作数则是应用在这些运算符上的具体数值或变量。
算术运算符
算术运算符用于执行基本的数学计算,包括加法、减法、乘法和除法。
在 Python 3.x 版本中,除法运算的结果默认为浮点数;而在 Python 2.x 中,两个整数相除的结果为整数。若需在 Python 3.x 中获取整数结果,应使用向下取整除法(//)。
| 运算符 | 描述 | 语法 |
|---|---|---|
| + | 加法:添加两个操作数 | x + y |
| – | 减法:减去两个操作数 | x - y |
| * | 乘法:将两个操作数相乘 | x * y |
| / | 除法(浮点数):将第一个操作数除以第二个操作数 | x / y |
| // | 除法(地板):将第一个操作数除以第二个 | x // 是的 |
| % | 模数:返回第一个操作数除以第二个操作数时的余数 | x % y |
| ** | 权重:回归第一提升力量第二 | x ** y |
优先级
- P - 括号
- E - 指数
- M – 乘法(乘法和除法具有相同的优先级)
- D – 除法
- A – 加法(加法和减法具有相同的优先级)
- S - 减法
模数运算符可用于提取数字的末尾部分。例如:
- x % 10 -> 提取最后一位数字
- x % 100 -> 提取最后两位数
示例:Python 中的算术运算符
# 算术运算符示例
a = 9
b = 4
# 数字相加
add = a + b
# 数字相减
sub = a - b
# 数的乘法
mul = a * b
# 数字的除法(浮点数)
div1 = a / b
# 号码划分(floor)
div2 = a // b
# 两个数的模
mod = a % b
# 权重
p = a ** b
# 打印结果
print(add)
print(sub)
print(mul)
print(div1)
print(div2)
print(mod)
print(p)输出
13 5 36 2.25 2 1 6561
比较运算符
关系运算符用于比较两个值的大小,并根据比较条件返回 True 或 False。
| 运算符 | 描述 | 语法 |
|---|---|---|
| 大于:如果左操作数大于右操作数,则为真 | x > y | |
| < | 小于:如果左操作数小于右操作数,则为真 | x < y |
| == | 等于:如果两个操作数相等,则为真 | x == y |
| != | 不等于 - 如果操作数不相等,则为真 | x != y |
| >= | 如果左操作数大于或等于右操作数,则大于或等于 True | x >= y |
| <= | 如果左操作数小于或等于右操作数,则小于或等于 True | x <= y |
| 是 | x 与 y 相同 | x 是 y |
| 不是 | x 与 y 不同 | x 不是 y |
需要注意的是,= 是赋值运算符,而 == 才是比较运算符。
示例:Python 中的比较运算符
# 关系运算符示例
a = 13
b = 33
# a > b 为假
print(a > b)
# a < b 为真
print(a < b)
# a == b 为假
print(a == b)
# a != b 为真
print(a != b)
# a >= b is False
print(a >= b)
# a <= b is True
print(a <= b)输出
False True False True False True
逻辑运算符
逻辑运算符用于执行逻辑与、逻辑或和逻辑非操作,常用于组合多个条件语句。
| 运算符 | 描述 | 语法 |
|---|---|---|
| and | 逻辑与:如果两个操作数都为真,则为真 | x and y |
| or | 逻辑或:如果任一操作数为真,则为真 | x or y |
| not | 逻辑非:如果操作数为假则为真 | not x |
示例:Python 中的逻辑运算符
# 逻辑运算符示例
a = True
b = False
# 打印 a 和 b 为 False
print(a and b)
# 打印 a 或 b 为 True
print(a or b)
# 打印 not a 为 False
print(not a)
输出
False True False
位运算符
位运算符直接对二进制位进行逐位操作,常用于处理二进制数据。
| 运算符 | 描述 | 语法 |
|---|---|---|
| & | 按位与 | x & y |
| | | 按位或 | x |y |
| ~ | 按位非 | ~x |
| ^ | 按位异或 | x ^ y |
| >> | 按位右移 | x>> |
| << | 按位左移 | x<< |
示例:Python 中的位运算符
# 位运算符示例
a = 10
b = 4
# 打印按位与运算
print(a & b)
# 打印按位或运算
print(a | b)
# 打印按位非运算
print(~a)
# 打印按位异或运算
print(a ^ b)
# 打印按位右移操作
print(a >> 2)
# 打印按位左移操作
print(a << 2)
输出
0 14 -11 14 2 40
赋值运算符
赋值运算符用于将右侧表达式的值赋给左侧变量。
| 运算符 | 描述 | 语法 |
|---|---|---|
| = | 将表达式右侧的值赋给左侧操作数 | x = y + z |
| += | Add AND:将右侧操作数与左侧操作数相加,然后分配给左侧操作数 | a+=b a=a+b |
| -= | 减 AND:从左操作数中减去右操作数,然后分配给左操作数 | a-=b a=ab |
| *= | 乘与:将右操作数与左操作数相乘,然后赋值给左操作数 | a*=b a=a*b |
| /= | 除法与:将左操作数与右操作数相除,然后分配给左操作数 | a/=b a=a/b |
| %= | Modulus AND:使用左右操作数取模并将结果分配给左操作数 | a%=b a=a%b |
| //= | Divide(floor) AND:将左操作数与右操作数相除,然后将值(floor) 赋给左操作数 | a//=b a=a//b |
| **= | 指数与:使用操作数计算指数(提高幂)值并将值分配给左操作数 | a**=b a=a**b |
| &= | 对操作数执行按位与并将值分配给左操作数 | a&=b a=a&b |
| |= | 对操作数执行按位或并将值分配给左操作数 | a|=b a=a|b |
| ^= | 对操作数执行按位异或并为左操作数赋值 | a^=b a=a^b |
| >>= | 对操作数执行按位右移并将值分配给左操作数 | a>>=b a=a>>b |
| <<= | 对操作数执行按位左移并将值分配给左操作数 | a <<= b a= a << b |
示例:Python 中的赋值运算符
# 赋值运算符示例
a = 10
# 赋值
b = a
print(b)
# 添加和赋值
b += a
print(b)
# 减法和赋值
b -= a
print(b)
# 乘法并赋值
b *= a
print(b)
# 按位 lishift 运算符
b <<= a
print(b)输出
10 20 10 100 102400
身份运算符
is 和 is not 是身份运算符,用于检查两个变量是否指向内存中的同一对象。即使两个变量值相等,它们也不一定指向同一内存地址。
is:如果操作数指向同一对象则返回 True
is not:如果操作数不指向同一对象则返回 True
示例:身份运算符
a = 10
b = 20
c = a
print(a is not b)
print(a is c)
输出
True True
成员运算符
in 和 not in 是成员运算符,用于检测某个值或变量是否存在于序列中。
in:如果在序列中找到指定值,则返回 True
not in:如果在序列中未找到指定值,则返回 True
示例: 成员运算符
# Python 程序来说明 not 'in' 运算符
x = 24
y = 20
list = [10, 20, 30, 40, 50]
if (x not in list):
print("x is NOT present in given list")
else:
print("x is present in given list")
if (y in list):
print("y is present in given list")
else:
print("y is NOT present in given list")输出
x is NOT present in given list y is present in given list
本文介绍了 Python 基本运算符的上半部分内容,更多相关 Python 运算符知识请查阅本站历史文章或继续阅读后续章节。感谢支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









