入门 Python 语言:运算符与表达式

入门 Python 语言:运算符与表达式

目录

入门 Python 语言:运算符与表达式

✨前言✨

📚本篇目标

🔥重难点说明

重点

难点

📖学习正文

算术运算符

比较运算符

逻辑运算符

赋值运算符

运算符优先级与表达式求值

💻练习题

单选题-5

多选题-3

判断题-2

代码题-1

📝答案解析

单选题

多选题

判断题

代码题

总结

Python的优势对比于 C++ 的维度点说明


✨前言✨

本系列文章目的在于将 Python 的基础内容完全夯实,最终目的是为后期的深度学习在算法上有一定的铺垫,前期在学习数学的过程中也会有很大的帮助,相对于 C++ 来说 Python 有自身的优势,文末会有 Python 的优势对比于 C++ 的维度点说明,我已经先写过 C++的基础使用 了,两种语言各自有各自的优势,我们要根据具体的需求来分析使用哪种语言更为方便,其它的语言暂时不在考虑范畴之内,我们的目标是AI深度学习。

前置环境与代码结构文章:

1、Python 环境配置与Jupyter Notebook开发工具下载使用

2、入门 Python 语言:Python基础课程目录

📚本篇目标

  1. 让初学者了解 Python 中各类运算符的基本概念和用途。
  2. 掌握算术运算符、比较运算符、逻辑运算符和赋值运算符的使用方法。
  3. 理解运算符优先级规则,能够正确计算表达式的值。
  4. 通过练习题巩固所学的运算符和表达式知识,提升运用能力。

🔥重难点说明

重点

  • 各类运算符的功能和使用场景,如算术运算符用于数值计算,比较运算符用于条件判断等。
  • 运算符优先级的规则,这对于正确计算复杂表达式至关重要。

难点

  • 逻辑运算符的短路特性,理解在何种情况下会发生短路以及如何影响表达式的计算。
  • 复杂表达式中运算符优先级的正确应用,避免因优先级错误导致计算结果出错。

📖学习正文

算术运算符

算术运算符用于执行基本的数学运算,以下是常见的算术运算符及其示例:

# 加法
a = 5 + 3
print("加法结果:", a)

# 减法
b = 5 - 3
print("减法结果:", b)

# 乘法
c = 5 * 3
print("乘法结果:", c)

# 除法
d = 5 / 3
print("除法结果:", d)

# 取整除法
e = 5 // 3
print("取整除法结果:", e)

# 取模(取余)
f = 5 % 3
print("取模结果:", f)

# 幂运算
g = 5 ** 3
print("幂运算结果:", g)

执行结果:

加法结果: 8
减法结果: 2
乘法结果: 15
除法结果: 1.6666666666666667
取整除法结果: 1
取模结果: 2
幂运算结果: 125

比较运算符

比较运算符用于比较两个值的大小关系,返回布尔值(True 或 False),示例如下:

# 等于
h = 5 == 3
print("等于比较结果:", h)

# 不等于
i = 5 != 3
print("不等于比较结果:", i)

# 大于
j = 5 > 3
print("大于比较结果:", j)

# 小于
k = 5 < 3
print("小于比较结果:", k)

# 大于等于
l = 5 >= 3
print("大于等于比较结果:", l)

# 小于等于
m = 5 <= 3
print("小于等于比较结果:", m)

执行结果:

等于比较结果: False
不等于比较结果: True
大于比较结果: True
小于比较结果: False
大于等于比较结果: True
小于等于比较结果: False

逻辑运算符

逻辑运算符用于组合多个条件进行逻辑判断,常见的逻辑运算符有 andor 和 not,示例如下:

# and 运算符
n = (5 > 3) and (2 < 4)
print("and 运算结果:", n)

# or 运算符
o = (5 < 3) or (2 < 4)
print("or 运算结果:", o)

# not 运算符
p = not (5 > 3)
print("not 运算结果:", p)

执行结果: 

and 运算结果: True
or 运算结果: True
not 运算结果: False

赋值运算符

赋值运算符用于给变量赋值,除了基本的 = 赋值运算符外,还有复合赋值运算符,示例如下:

# 基本赋值
x = 5
print("基本赋值后 x 的值:", x)

# 加法赋值
x += 3  # 相当于 x = x + 3
print("加法赋值后 x 的值:", x)

# 减法赋值
x -= 2  # 相当于 x = x - 2
print("减法赋值后 x 的值:", x)

# 乘法赋值
x *= 2  # 相当于 x = x * 2
print("乘法赋值后 x 的值:", x)

# 除法赋值
x /= 2  # 相当于 x = x / 2
print("除法赋值后 x 的值:", x)

执行结果:

基本赋值后 x 的值: 5
加法赋值后 x 的值: 8
减法赋值后 x 的值: 6
乘法赋值后 x 的值: 12
除法赋值后 x 的值: 6.0

运算符优先级与表达式求值

Python 中的运算符有不同的优先级,在计算表达式时,优先级高的运算符先进行计算。可以使用括号来改变运算的顺序,示例如下:

# 未使用括号
q = 5 + 3 * 2
print("未使用括号的计算结果:", q)

# 使用括号
r = (5 + 3) * 2
print("使用括号的计算结果:", r)

执行结果:

未使用括号的计算结果: 11
使用括号的计算结果: 16

💻练习题

单选题-5

  1. 以下哪个是 Python 中的幂运算符?
    A. ^
    B. **
    C. *
    D. /

  2. 执行 print(5 % 2) 的结果是?
    A. 2
    B. 2.5
    C. 1
    D. 0

  3. 对于表达式 (3 > 2) and (4 < 5),其结果是?
    A. True
    B. False
    C. 3
    D. 4

  4. 执行以下代码后,变量 a 的值是?

    a = 5
    a *= 2

    A. 5
    B. 7
    C. 10
    D. 2

  5. 表达式 2 + 3 * 4 的计算结果是?
    A. 20
    B. 14
    C. 10
    D. 9

多选题-3

  1. 以下属于 Python 算术运算符的有?
    A. +
    B. -
    C. <
    D. %

  2. 以下哪些是 Python 中的逻辑运算符?
    A. and
    B. or
    C. not
    D. if

  3. 以下关于运算符优先级的说法正确的是?
    A. 算术运算符优先级高于比较运算符
    B. 逻辑运算符 not 优先级高于 and 和 or
    C. 赋值运算符优先级最低
    D. 括号可以改变运算符的优先级

判断题-2

  1. 在 Python 中,3 / 2 的结果是 1。( )
  2. 表达式 (5 < 3) or (True) 的结果是 True。( )

代码题-1

编写一个 Python 程序,计算 (2 + 3) * 4 / 2 的值,并将结果输出。

📝答案解析

单选题

  1. 答案:B
    • 在 Python 中,幂运算符是 **,所以选 B。选项 A 的 ^ 在 Python 中是按位异或运算符;选项 C 的 * 是乘法运算符;选项 D 的 / 是除法运算符。
  2. 答案:C
    • % 是取模运算符,用于求余数,5 除以 2 的余数是 1,所以结果是 1,选 C。
  3. 答案:A
    • (3 > 2) 的结果是 True(4 < 5) 的结果也是 Trueand 运算符要求两边的条件都为 True 时结果才为 True,所以整个表达式结果为 True,选 A。
  4. 答案:C
    • a *= 2 相当于 a = a * 2,初始 a = 5,那么 a = 5 * 2 = 10,所以选 C。
  5. 答案:B
    • 根据运算符优先级,乘法先于加法计算,所以先算 3 * 4 = 12,再算 2 + 12 = 14,选 B。

多选题

  1. 答案:ABD
    • +-% 都属于算术运算符,而 < 是比较运算符,所以选 ABD。
  2. 答案:ABC
    • andornot 是 Python 中的逻辑运算符,if 是条件语句关键字,不是逻辑运算符,所以选 ABC。
  3. 答案:ABCD
    • 算术运算符优先级高于比较运算符,逻辑运算符 not 优先级高于 and 和 or,赋值运算符优先级最低,括号可以改变运算符的优先级,所以 ABCD 说法都正确。

判断题

  1. 答案:错误
    • 在 Python 中,3 / 2 是普通除法,结果是 1.5,而不是 1,所以该说法错误。
  2. 答案:正确
    • (5 < 3) 的结果是 False,但 or 运算符只要有一个条件为 True 结果就为 True,后面的 True 使得整个表达式结果为 True,所以该说法正确。

代码题

result = (2 + 3) * 4 / 2
print(result)

该程序先计算括号内的 2 + 3 = 5,再计算 5 * 4 = 20,最后计算 20 / 2 = 10,并将结果 10 输出。

总结

通过本文的学习,我们详细了解了 Python 中的算术运算符、比较运算符、逻辑运算符和赋值运算符,掌握了它们的使用方法和特点。同时,我们也学习了运算符优先级的规则,能够正确计算复杂表达式的值。练习题的巩固让我们对这些知识有了更深入的理解和运用。希望大家能够熟练掌握这些运算符和表达式的知识,为进一步学习 Python 打下坚实的基础。

Python的优势对比于 C++ 的维度点说明

对比维度Python 优势C++ 情况
性能效率1. 开发效率高:代码简洁,语法灵活,能够用较少的代码实现相同的功能,缩短开发周期。
2. 有高性能库支持:对于计算密集型任务,可以使用如 NumPy、Pandas 等高性能库,它们底层使用 C 或 Fortran 实现,能在一定程度上弥补 Python 执行速度慢的问题。
1. 开发效率低:代码相对冗长,需要编写更多的代码来实现相同功能,开发周期较长。
2. 开发难度大:需要手动管理内存,容易出现内存泄漏等问题,对开发者要求较高。
底层控制能力1. 代码编写简单快速:无需关注底层硬件细节,能让开发者更专注于业务逻辑的实现,快速搭建应用原型。
2. 适合快速迭代开发:在应用开发过程中,能够快速对代码进行修改和调整,适应不断变化的需求。
1. 代码编写复杂:需要对底层硬件有深入了解,编写代码时要处理很多底层细节,开发难度大。
2. 开发周期长:由于需要关注底层,代码的修改和调整相对困难,不适合快速迭代开发。
语言特性1. 语法简洁易懂:代码可读性高,易于学习和上手,降低了编程门槛,适合初学者。
2. 动态类型灵活:在编写代码时无需提前声明变量类型,能够根据需要灵活赋值,提高了代码的编写效率。
1. 语法复杂:学习成本较高,对于初学者来说有一定难度。
2. 静态类型不够灵活:在编写代码时需要提前声明变量类型,不够灵活,修改代码时可能需要对类型进行调整。
可移植性1. 跨平台部署方便:只要安装了相应的 Python 解释器,代码可以在不同操作系统上轻松运行,无需重新编译。
2. 云服务支持好:很多云服务平台都提供了 Python 运行环境,方便将 Python 应用部署到云端。
1. 跨平台编译麻烦:不同操作系统的编译器和运行时环境可能存在差异,需要针对不同平台进行编译和调试。
2. 云服务集成复杂:将 C++ 应用部署到云服务平台时,需要处理更多的底层配置和依赖问题。
生态系统和工具链1. 库丰富且易用:拥有大量的开源库和框架,涵盖了数据分析、机器学习、Web 开发等多个领域,能够快速实现各种功能。
2. 社区活跃:有庞大的开发者社区,遇到问题可以很容易找到解决方案和技术支持。
1. 库学习成本高:虽然有很多专业级库,但部分库的学习曲线较陡,使用起来有一定难度。
2. 社区相对较小:相比 Python 社区,C++ 社区规模相对较小,获取技术支持和解决方案的渠道相对较少。
安全性和稳定性1. 内置安全机制:有一些内置的安全机制,如异常处理机制,能够在程序出现错误时进行捕获和处理,避免程序崩溃。
2. 代码审查相对容易:简洁的语法和动态类型使得代码结构相对简单,在代码审查时更容易发现问题。
1. 手动管理易出错:手动管理内存和资源容易出现错误,如内存泄漏、悬空指针等,影响程序的稳定性和安全性。
2. 代码审查复杂:由于语法复杂,代码结构可能比较复杂,在代码审查时需要花费更多的时间和精力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值