Python编程:运算符详解

简介: 本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。

Python编程:运算符详解

Python提供了丰富的运算符,用于执行各种操作。下面我将详细介绍各类运算符及其用法。

1. 算术运算符

print("=== 算术运算符 ===")

a = 10
b = 3

print(f"a = {a}, b = {b}")
print(f"加法: a + b = {a + b}")        # 13
print(f"减法: a - b = {a - b}")        # 7
print(f"乘法: a * b = {a * b}")        # 30
print(f"除法: a / b = {a / b}")        # 3.333...
print(f"取整除法: a // b = {a // b}")  # 3
print(f"取模: a % b = {a % b}")        # 1
print(f"幂运算: a ** b = {a ** b}")    # 1000

# 特殊算术运算
print(f"负数: -a = {-a}")              # -10
print(f"正数: +a = {+a}")              # 10

2. 比较运算符

print("\n=== 比较运算符 ===")

x = 5
y = 8

print(f"x = {x}, y = {y}")
print(f"等于: x == y -> {x == y}")      # False
print(f"不等于: x != y -> {x != y}")    # True
print(f"大于: x > y -> {x > y}")        # False
print(f"小于: x < y -> {x < y}")        # True
print(f"大于等于: x >= y -> {x >= y}")  # False
print(f"小于等于: x <= y -> {x <= y}")  # True

# 字符串比较
str1 = "apple"
str2 = "banana"
print(f"\n字符串比较: '{str1}' < '{str2}' -> {str1 < str2}")  # True

3. 逻辑运算符

print("\n=== 逻辑运算符 ===")

p = True
q = False

print(f"p = {p}, q = {q}")
print(f"与: p and q -> {p and q}")      # False
print(f"或: p or q -> {p or q}")        # True
print(f"非: not p -> {not p}")          # False

# 实际应用示例
age = 25
has_license = True

can_drive = age >= 18 and has_license
print(f"\n年龄 {age} 岁,有驾照: {has_license}")
print(f"可以开车: {can_drive}")

4. 赋值运算符

print("\n=== 赋值运算符 ===")

# 基本赋值
a = 10
print(f"初始值: a = {a}")

# 复合赋值运算符
a += 5      # a = a + 5
print(f"a += 5  -> a = {a}")

a -= 3      # a = a - 3
print(f"a -= 3  -> a = {a}")

a *= 2      # a = a * 2
print(f"a *= 2  -> a = {a}")

a /= 4      # a = a / 4
print(f"a /= 4  -> a = {a}")

a //= 2     # a = a // 2
print(f"a //= 2 -> a = {a}")

a %= 3      # a = a % 3
print(f"a %= 3  -> a = {a}")

a **= 2     # a = a ** 2
print(f"a **= 2 -> a = {a}")

# 多重赋值
x = y = z = 0
print(f"\n多重赋值: x={x}, y={y}, z={z}")

# 并行赋值
a, b, c = 1, 2, 3
print(f"并行赋值: a={a}, b={b}, c={c}")

# 交换变量值
a, b = b, a
print(f"交换后: a={a}, b={b}")

5. 位运算符

print("\n=== 位运算符 ===")

m = 10      # 二进制: 1010
n = 4       # 二进制: 0100

print(f"m = {m} (二进制: {bin(m)}), n = {n} (二进制: {bin(n)})")
print(f"按位与: m & n = {m & n} (二进制: {bin(m & n)})")      # 0
print(f"按位或: m | n = {m | n} (二进制: {bin(m | n)})")      # 14
print(f"按位异或: m ^ n = {m ^ n} (二进制: {bin(m ^ n)})")    # 14
print(f"按位取反: ~m = {~m} (二进制: {bin(~m)})")            # -11
print(f"左移: m << 1 = {m << 1} (二进制: {bin(m << 1)})")    # 20
print(f"右移: m >> 1 = {m >> 1} (二进制: {bin(m >> 1)})")    # 5

6. 身份运算符

print("\n=== 身份运算符 ===")

list1 = [1, 2, 3]
list2 = [1, 2, 3]
list3 = list1

print(f"list1 = {list1}")
print(f"list2 = {list2}")
print(f"list3 = {list3}")

print(f"list1 is list2 -> {list1 is list2}")    # False
print(f"list1 is list3 -> {list1 is list3}")    # True
print(f"list1 is not list2 -> {list1 is not list2}")  # True

# 小整数缓存(-5到256)
a = 100
b = 100
print(f"\na=100, b=100, a is b -> {a is b}")  # True

7. 成员运算符

print("\n=== 成员运算符 ===")

fruits = ["apple", "banana", "orange"]
word = "Hello World"

print(f"fruits = {fruits}")
print(f"word = '{word}'")

print(f"'banana' in fruits -> {'banana' in fruits}")        # True
print(f"'grape' not in fruits -> {'grape' not in fruits}")  # True
print(f"'Hello' in word -> {'Hello' in word}")              # True
print(f"'Python' not in word -> {'Python' not in word}")    # True

8. 运算符优先级示例

print("\n=== 运算符优先级 ===")

# 优先级从高到低
result1 = 2 + 3 * 4        # 乘法优先:2 + 12 = 14
result2 = (2 + 3) * 4      # 括号优先:5 * 4 = 20
result3 = 10 - 4 + 2       # 从左到右:6 + 2 = 8
result4 = 2 ** 3 * 4       # 幂运算优先:8 * 4 = 32

print(f"2 + 3 * 4 = {result1}")
print(f"(2 + 3) * 4 = {result2}")
print(f"10 - 4 + 2 = {result3}")
print(f"2 ** 3 * 4 = {result4}")

# 复杂表达式
a, b, c = 2, 3, 4
complex_result = a + b * c ** 2 // (a + 1) - b
print(f"\n复杂表达式: {a} + {b} * {c} ** 2 // ({a} + 1) - {b} = {complex_result}")

9. 综合应用示例

print("\n=== 综合应用示例 ===")

# 计算器功能演示
def simple_calculator():
    print("简易计算器")
    try:
        num1 = float(input("请输入第一个数字: "))
        operator = input("请输入运算符 (+, -, *, /, //, %, **): ")
        num2 = float(input("请输入第二个数字: "))

        if operator == "+":
            result = num1 + num2
        elif operator == "-":
            result = num1 - num2
        elif operator == "*":
            result = num1 * num2
        elif operator == "/":
            if num2 == 0:
                print("错误:除数不能为零!")
                return
            result = num1 / num2
        elif operator == "//":
            if num2 == 0:
                print("错误:除数不能为零!")
                return
            result = num1 // num2
        elif operator == "%":
            if num2 == 0:
                print("错误:除数不能为零!")
                return
            result = num1 % num2
        elif operator == "**":
            result = num1 ** num2
        else:
            print("错误:不支持的运算符!")
            return

        print(f"结果: {num1} {operator} {num2} = {result}")

    except ValueError:
        print("错误:请输入有效的数字!")

# 运行计算器
simple_calculator()

10. 运算符优先级总结表

print("\n=== 运算符优先级总结 ===")
print("""
优先级从高到低:
1. **                         幂运算
2. +x, -x, ~x                 正负号、按位取反
3. *, /, //, %                乘除类运算
4. +, -                       加减类运算
5. <<, >>                     位移运算
6. &                          按位与
7. ^                          按位异或
8. |                          按位或
9. ==, !=, >, >=, <, <=       比较运算
10. is, is not                身份运算
11. in, not in                成员运算
12. not                       逻辑非
13. and                       逻辑与
14. or                        逻辑或
15. =, +=, -=, *=, etc.       赋值运算

提示:使用括号可以明确优先级,提高代码可读性!
""")

运行示例输出

=== 算术运算符 ===
a = 10, b = 3
加法: a + b = 13
减法: a - b = 7
乘法: a * b = 30
除法: a / b = 3.3333333333333335
取整除法: a // b = 3
取模: a % b = 1
幂运算: a ** b = 1000
...

=== 综合应用示例 ===
简易计算器
请输入第一个数字: 10
请输入运算符 (+, -, *, /, //, %, **): *
请输入第二个数字: 5
结果: 10.0 * 5.0 = 50.0

这个详细的运算符教程涵盖了Python中所有主要的运算符类型,包括它们的语法、用法和实际应用示例。

目录
相关文章
|
3天前
|
弹性计算 人工智能 安全
云上十五年——「弹性计算十五周年」系列客户故事(第二期)
阿里云弹性计算十五年深耕,以第九代ECS g9i实例引领算力革新。携手海尔三翼鸟、小鹏汽车、微帧科技等企业,实现性能跃升与成本优化,赋能AI、物联网、智能驾驶等前沿场景,共绘云端增长新图景。
|
9天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
8天前
|
人工智能 自然语言处理 自动驾驶
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
|
8天前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
|
9天前
|
编解码 自然语言处理 文字识别
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
凌晨,Qwen3-VL系列再添新成员——Dense架构的Qwen3-VL-8B、Qwen3-VL-4B 模型,本地部署友好,并完整保留了Qwen3-VL的全部表现,评测指标表现优秀。
661 7
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
|
4天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
|
11天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
787 2
|
2天前
|
编解码 文字识别 算法
一张图能装下“千言万语”?DeepSeek-OCR 用视觉压缩长文本,效率提升10倍!
一张图能装下“千言万语”?DeepSeek-OCR 用视觉压缩长文本,效率提升10倍!
344 10