当前位置:   article > 正文

Python筑基之旅-运算符

Python筑基之旅-运算符

目录

一、运算符

1、了解定义

2、理解意义

2-1、基本数据处理

2-2、条件判断

2-3、逻辑操作

2-4、赋值和更新

2-5、位操作

2-6、提高代码可读性

2-7、解决实际问题

2-8、学习其他编程语言的基础

3、探索方法

3-1、理解概念

3-2、练习基本运算

3-3、掌握优先级

3-4、阅读文档和教程

3-5、编写实际程序

3-6、参加编程社区

3-7、练习编程题

3-8、反思和总结

4、梳理分类

4-1、算术运算符

4-1-1、定义

4-1-2、分类

4-1-2-1、加法运算符(+)   

4-1-2-2、减法运算符(-)

4-1-2-3、乘法运算符(*)

4-1-2-4、除法运算符(/)

4-1-2-5、整除运算符(//)

4-1-2-6、取模运算符(%)

4-1-2-7、幂运算符(**或**=)

4-1-2-8、一元加号(+)

4-1-2-9、一元减号(-)

4-2、比较运算符

4-2-1、定义

4-2-2、分类

4-2-3、优先级

4-3、赋值运算符

4-3-1、定义

4-3-2、分类

4-3-3、示例

4-4、位运算符

4-4-1、定义

4-4-2、分类

4-4-2-1、位与(&)

4-4-2-2、位或(|)

4-4-2-3、位异或(^)

4-4-2-4、位取反(~)

4-4-2-5、左移(<<)

4-4-2-6、右移(>>)

4-4-3、优先级

4-5、逻辑运算符

4-5-1、定义

4-5-2、分类

4-5-2-1、逻辑与(and)

4-5-2-2、逻辑或(or)

4-5-2-3、逻辑非(not)

4-5-3、优先级

4-6、身份运算符

4-6-1、定义

4-6-2、分类

4-6-2-1、是(is)

4-6-2-2、不是(is not)

4-6-3、优先级

4-7、成员运算符

4-7-1、定义

4-7-2、分类

4-7-2-1、在...内(in)

4-7-2-2、不在...内(not in)

4-7-3、优先级

4-8、三元运算符

4-8-1、定义

4-8-2、语法

4-8-3、示例

5、明确优先级

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

一、运算符

1、了解定义

        Python中的运算符是用于执行各种算术或逻辑运算的符号,它们允许你对一个或多个值(或变量)进行运算,并返回一个新的值

2、理解意义

        学习Python中的运算符是非常重要的,因为它们构成了编程语言的基石,使得我们能够对数据进行各种操作、比较和逻辑判断

2-1、基本数据处理

        运算符允许我们执行基本的数学运算,如加、减、乘、除等,这对于处理数字数据至关重要。

2-2、条件判断

        比较运算符(如等于、不等于、大于、小于等)使我们能够比较两个值的大小或关系,从而进行条件判断,这对于编写条件语句(如if、elif、else)和循环结构(如for、while)非常重要。

2-3、逻辑操作

        逻辑运算符(如and、or、not)允许我们组合多个条件判断,以实现更复杂的逻辑操作,这对于编写健壮、灵活的代码至关重要。

2-4、赋值和更新

        赋值运算符(如=、+=、-=等)使我们能够将计算结果存储在变量中,以便后续使用或更新,这是编程中不可或缺的一部分。

2-5、位操作

        位运算符(如&、|、^、<<、>>)允许我们直接操作数据的二进制表示,这在处理底层数据或优化性能时非常有用。

2-6、提高代码可读性

        掌握运算符的优先级和用法有助于编写更易于阅读和理解的代码,当其他人(或未来的你)查看你的代码时,能够迅速理解每个表达式的作用和目的。

2-7、解决实际问题

        通过运用各种运算符,我们可以编写能够解决实际问题的程序,无论是简单的数学计算、数据处理任务还是复杂的逻辑判断,运算符都是实现这些功能的关键。

2-8、学习其他编程语言的基础

        虽然不同编程语言的语法和特性可能有所不同,但运算符的基本概念和用法通常是相似的,因此,学习Python中的运算符可以为学习其他编程语言打下坚实的基础。

        总之,学习Python中的运算符是掌握编程语言基础的重要一步,通过深入了解各种运算符的特性和用法,我们可以编写出更高效、更可靠的代码,并解决各种实际问题。

3、探索方法

        要学好Python中的运算符,你可以遵循以下几个步骤和策略:

3-1、理解概念

        首先,你需要理解运算符的基本概念、种类和用途,这包括算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符等,了解它们的功能和用法是学好运算符的基础。

3-2、练习基本运算

        通过编写简单的Python代码来练习各种运算符的使用。例如,你可以编写程序来执行加、减、乘、除等算术运算,或使用比较运算符来进行条件判断,这样的练习有助于你熟悉运算符的语法和用法。

3-3、掌握优先级

        了解运算符的优先级规则对于编写正确的代码至关重要,你需要知道哪些运算符会先被计算,哪些运算符的优先级较低,通过练习包含多个运算符的表达式,你可以加深对优先级规则的理解。

3-4、阅读文档和教程

        Python的官方文档和在线教程是宝贵的学习资源,阅读相关文档和教程可以深入了解运算符的详细用法、注意事项和最佳实践,这些资源通常包含示例代码和解释,有助于你更好地理解和应用运算符。

3-5、编写实际程序

        将所学的运算符知识应用到实际编程项目中,通过编写具有实际功能的程序,你可以更深入地理解运算符的用途和重要性;同时,这也可以帮助你发现问题并加深对运算符的理解。

3-6、参加编程社区

        加入Python编程社区,与其他编程爱好者交流和分享经验。在社区中,你可以提出问题、寻求帮助并分享你的解决方案,与其他人的互动可以帮助你更快地解决问题并提高编程能力。

3-7、练习编程题

        通过解决编程练习题来巩固所学的运算符知识,这些题目可以来自在线编程平台、书籍或课程,通过解决不同难度和类型的题目,你可以提高你的编程技能和解决问题的能力。

3-8、反思和总结

        在学习过程中,不断反思和总结自己的学习经验,思考你在学习运算符时遇到的困难、解决问题的方法以及你的收获,这样的反思和总结有助于你更好地理解学习内容并提高学习效率。

        总之,学好Python中的运算符需要理解概念、练习基本运算、掌握优先级、阅读文档和教程、编写实际程序、参加编程社区、练习编程题以及反思和总结,通过不断努力和实践,你可以逐步掌握Python中的运算符并成为一名优秀的Python程序员。

4、梳理分类

4-1、算术运算符
4-1-1、定义

        在Python中,算术运算符(Arithmetic Operators)是用于执行数学运算的符号

4-1-2、分类
4-1-2-1、加法运算符(+)   
  1. # 1-1、加法运算符(+)
  2. # 用于将两个或多个数相加
  3. a = 5
  4. b = 3
  5. c = a + b
  6. print(c) # 输出:8
4-1-2-2、减法运算符(-)
  1. # 1-2、减法运算符(-)
  2. # 用于从一个数中减去另一个数。
  3. a = 5
  4. b = 3
  5. c = a - b
  6. print(c) # 输出:2
4-1-2-3、乘法运算符(*)
  1. # 1-3、乘法运算符(*)
  2. # 用于将一个数与另一个数相乘
  3. a = 5
  4. b = 3
  5. c = a * b
  6. print(c) # 输出:15
4-1-2-4、除法运算符(/)
  1. # 1-4、除法运算符(/)
  2. # 用于将一个数除以另一个数,结果是一个浮点数(除非两个数都是整数并且结果也是整数,Python 3会返回浮点数)
  3. a = 5
  4. b = 3
  5. c = a / b
  6. print(c) # 输出:1.6666666666666667
  7. print(type(c)) # 输出:<class 'float'>
  8. d = 4
  9. e = 2
  10. f = d / e
  11. print(f) # 输出:2.0
  12. print(type(f)) # 输出:<class 'float'>
4-1-2-5、整除运算符(//)
  1. # 1-5、整除运算符(//)
  2. # 也称为地板除法,用于将一个数除以另一个数并返回商的整数部分(向下取整)
  3. a = 5
  4. b = 3
  5. c = a // b
  6. print(c) # 输出:1
  7. print(type(c)) # 输出:<class 'int'>
4-1-2-6、取模运算符(%)
  1. # 1-6、取模运算符(%)
  2. # 用于计算两个数相除的余数
  3. a = 5
  4. b = 3
  5. c = a % b
  6. print(c) # 输出:2
4-1-2-7、幂运算符(**或**=)
  1. # 1-7、幂运算符(**或**=)
  2. # 用于计算一个数的幂(乘方),**=是幂运算符的赋值版本,它直接改变左侧变量的值
  3. a = 5
  4. b = 2
  5. c = a ** b
  6. a **= 2
  7. print(c) # 输出:25
  8. print(a) # 输出:25
4-1-2-8、一元加号(+)
  1. # 1-8、一元加号(+)
  2. # 用于表示正数(尽管在大多数情况下是多余的)
  3. a = +5
  4. print(a > 0) # 输出:True
4-1-2-9、一元减号(-)
  1. # 1-9、一元减号(-)
  2. # 用于表示负数或取反
  3. a = 5
  4. b = -a
  5. print(b) # 输出:-5
  6. c = a + b
  7. print(c) # 输出:0
4-1-3、优先级
  1. # 1-10、算术运算符的优先级
  2. # 在Python中,算术运算符的优先级遵循数学中的常规规则。以下是从高到低的算术运算符优先级列表:
  3. # 1、幂(**或**=): 幂运算的优先级是最高的
  4. print(2 ** 3 + 4) # 输出 12,因为 2 ** 3 是 8,然后 8 + 4 是 12
  5. # 2、正负号(+x, -x, +=, -=): 正负号(一元运算符)的优先级高于乘除
  6. print(-3 * 2) # 输出 -6,因为先计算负号
  7. # 3、乘法(*或*=)、除法(/或/=)、整除(//或//=)和取模(%或%=): 乘、(整)除和取模运算的优先级相同,从左到右进行
  8. print(3 * 4 / 2) # 输出 6.0,因为先计算 3 * 4 得到 12,然后 12 / 2 得到 6.0
  9. print(7 // 3) # 输出 2,因为整除的结果是整数部分
  10. # 4、加法(+或+=)和减法(-或-=): 加法和减法的优先级相同,从左到右进行
  11. print(3 + 4 - 2) # 输出 5,因为先计算 3 + 4 得到 7,然后 7 - 2 得到 5
  12. # 如果在一个表达式中同时出现多个相同优先级的运算符,它们将按照从左到右的顺序进行计算(这称为左结合性)
  13. # 可以使用括号来改变默认的优先级顺序,使得表达式按照你的意图进行计算。例如:
  14. print(3 + 4 * 2) # 输出 11,因为先计算 4 * 2 得到 8,然后 3 + 8 得到 11
  15. print((3 + 4) * 2) # 输出 14,因为括号改变了运算顺序
左结合性从左到右说明



1****=      
2+x-x+=-=    正负号(一元运算符)
3**=//=%%=////=乘法/除法/取模/整除
4++=--=    加法/减法
备注可以使用括号来改变默认的优先级顺序,使得表达式按照你的意图进行计算
4-2、比较运算符
4-2-1、定义

        在Python中,比较运算符(Comparison Operators)用于比较两个值之间关系的运算符

4-2-2、分类
4-2-2-1、等于(==)
  1. # 2-1、等于(==)
  2. # 判断两个对象是否相等
  3. a = 5
  4. b = 5
  5. print(a == b) # 输出: True
4-2-2-2、不等于(!=)
  1. # 2-2、不等于(!=)
  2. # 判断两个对象是否不相等
  3. a = 5
  4. b = 3
  5. print(a != b) # 输出: True
4-2-2-3、大于(>)
  1. # 2-3、大于(>)
  2. # 判断左边的值是否大于右边的值
  3. a = 5
  4. b = 3
  5. print(a > b) # 输出: True
4-2-2-4、小于(<)
  1. # 2-4、小于(<)
  2. # 判断左边的值是否小于右边的值
  3. a = 3
  4. b = 5
  5. print(a < b) # 输出: True
4-2-2-5、大于等于(>=)
  1. # 2-5、大于等于(>=)
  2. # 判断左边的值是否大于或等于右边的值
  3. a = 5
  4. b = 5
  5. print(a >= b) # 输出: True
4-2-2-6、小于等于(<=)
  1. # 2-6、小于等于(<=)
  2. # 判断左边的值是否小于或等于右边的值
  3. a = 3
  4. b = 5
  5. print(a <= b) # 输出: True
4-2-3、优先级

        在Python中,比较运算符(<<=>>=!===)的优先级是相同的。

  1. # 2-7、比较运算符的优先级
  2. # 以下是一个示例,说明比较运算符的优先级和左结合性:
  3. a = 5
  4. b = 3
  5. c = 2
  6. # 由于比较运算符具有相同的优先级和左结合性
  7. # 这个表达式将首先计算 a > b,然后再与 c == 2 进行比较
  8. result = (a > b) == (c == 2)
  9. # 因为 a > b 是 True,c == 2 也是 True
  10. # 所以 (True) == (True) 的结果是 True
  11. print(result) # 输出: True
  12. # 如果我们改变括号的位置,比较的顺序会改变
  13. # 但结果仍然相同,因为 a > b 和 c == 2 都是 True
  14. result = a > (b == c)
  15. # 但这里 b == c 是 False,所以 a > (False) 的结果是 True
  16. print(result) # 输出: True
  17. result = (a > b) != c
  18. # a > b 是 True,所以 True != 2 的结果是 True
  19. print(result) # 输出: True
4-3、赋值运算符
4-3-1、定义

        在Python中,赋值运算符(Assignment Operator)是用于将值或表达式的计算结果赋给变量的运算符

4-3-2、分类

        在大多数编程语言中,包括Python,赋值运算符就是=

4-3-3、示例
  1. # 3-1、示例
  2. # 简单的赋值
  3. x = 10
  4. # 赋值一个表达式的计算结果
  5. y = x + 5 # y 的值现在是 15
  6. # 赋值一个字符串
  7. name = "Myelsa"
  8. # 赋值一个列表
  9. my_list = [1, 2, 3, 4, 5]
  10. # 赋值一个字典
  11. my_dict = {"key1": "value1", "key2": "value2"}
  12. # 赋值并改变变量类型(在Python中是允许的)
  13. print(type(x)) # 输出:<class 'int'>
  14. x = "ten" # 现在 x 是一个字符串
  15. print(type(x)) # 输出:<class 'str'>
4-4、位运算符
4-4-1、定义

        在Python中,位运算符(Bitwise Operators)对整数在二进制位级别上进行操作的运算符

4-4-2、分类
4-4-2-1、位与(&)
  1. # 4-1、位与(&)
  2. # 对于每一对相应的二进制位,只有当两个二进制位都为1时,结果位才为1
  3. a = 60 # 60 = 0011 1100
  4. b = 13 # 13 = 0000 1101
  5. c = a & b # 12 = 0000 1100
  6. print(bin(c)) # 输出:0b1100,其中0b表示二进制数的前缀
4-4-2-2、位或(|)
  1. # 4-2、位或(|)
  2. # 对于每一对相应的二进制位,只要两个二进制位中有一个为1时,结果位就为1
  3. a = 60 # 60 = 0011 1100
  4. b = 13 # 13 = 0000 1101
  5. c = a | b # 61 = 0011 1101
  6. print(bin(c)) # 输出:0b111101,其中0b表示二进制数的前缀
4-4-2-3、位异或(^)
  1. # 4-3、位异或(^)
  2. # 对于每一对相应的二进制位,当两个二进制位相异时,结果位为1
  3. a = 60 # 60 = 0011 1100
  4. b = 13 # 13 = 0000 1101
  5. c = a ^ b # 49 = 0011 0001
  6. print(bin(c)) # 输出:0b110001,其中0b表示二进制数的前缀
4-4-2-4、位取反(~)
  1. # 4-4、位取反(~)
  2. # 对整数的二进制位取反。注意,位取反是相对于整数在计算机中表示的补码(two's complement)形式而言的。
  3. # 对于非负数,最高位(符号位)是0;对于负数,最高位是1
  4. a = 60 # 60 = 0011 1100
  5. b = ~a # 结果是一个负数,具体值取决于你的系统和Python的位数(32位或64位)
  6. print(bin(b)) # 输出:-0b111101,其中0b表示二进制数的前缀
4-4-2-5、左移(<<)
  1. # 4-5、左移(<<)
  2. # 将数字的位向左移动指定的位数,右边空出的位用0填充
  3. a = 60 # 60 = 0011 1100
  4. b = a << 2 # 240 = 1111 0000
  5. print(bin(b)) # 输出:0b11110000,其中0b表示二进制数的前缀
4-4-2-6、右移(>>)
  1. # 4-6、右移(>>)
  2. # 将数字的位向右移动指定的位数
  3. # 对于无符号整数,左边空出的位用0填充;对于有符号整数(如Python中的int),最高位(符号位)将用于确定结果的正负
  4. a = 60 # 60 = 0011 1100
  5. b = a >> 2 # 15 = 0000 1111
  6. c = -24 # -24 = -0001 1000
  7. d = c >> 2 # 6 = -0000 0110
  8. print(bin(d)) # 输出:-0b110,其中0b表示二进制数的前缀
  9. print(bin(b)) # 输出:0b1111,其中0b表示二进制数的前缀
4-4-3、优先级
左结合性从左到右说明



1~ 按位取反NOT(一元运算符)
2<<>>位移运算符
3& 按位与AND
4^ 按位异或XOR
5| 按位或OR
备注用括号可以改变默认的优先级顺序
4-5、逻辑运算符
4-5-1、定义

        在Python中,逻辑运算符(Logical Operators)是用于连接布尔值(True或False)或可以计算为布尔值的表达式,并根据这些值返回新的布尔值的运算符

4-5-2、分类
4-5-2-1、逻辑与(and)
  1. # 5-1、逻辑与(and)
  2. # 当且仅当两个操作数都为True时,and运算符返回True
  3. # 如果两个操作数中有一个为False,则结果为False
  4. result = True and True # 结果为 True
  5. result = True and False # 结果为 False
4-5-2-2、逻辑或(or)
  1. # 5-2、逻辑或(or)
  2. # 当至少一个操作数为True时,or运算符返回True
  3. # 如果两个操作数都为False,则结果为False
  4. result = True or False # 结果为 True
  5. result = False or False # 结果为 False
4-5-2-3、逻辑非(not)
  1. # 5-3、逻辑非(not)
  2. # not运算符用于对一个布尔值取反。
  3. # 如果操作数为True,则not返回False;如果操作数为False,则not返回True
  4. result = not True # 结果为 False
  5. result = not False # 结果为 True
4-5-3、优先级



序号运算符说明
1not逻辑非
2and逻辑与
3or逻辑或
备注用括号可以改变默认的优先级顺序
4-6、身份运算符
4-6-1、定义

        在Python中,身份运算符(identity operators)用于比较两个对象的内存地址是否相同,即它们是否指向内存中的同一个对象的运算符

4-6-2、分类
4-6-2-1、是(is)
  1. # 6-1、是(is)
  2. # 如果两个标识符引用的是同一个对象,则返回True
  3. a = [1, 2, 3]
  4. b = a
  5. c = [1, 2, 3]
  6. print(a is b) # 输出:True,因为b是a的引用
  7. print(a is c) # 输出:False,虽然a和c的内容相同,但它们是不同的对象
4-6-2-2、不是(is not)
  1. # 6-2、不是(is not)
  2. # 如果两个标识符引用的不是同一个对象,则返回True
  3. a = [1, 2, 3]
  4. b = a
  5. c = [1, 2, 3]
  6. print(a is not b) # 输出:False,因为b是a的引用,指向同一对象
  7. print(a is not c) # 输出:True,虽然a和c的内容相同,但它们是不同的对象
4-6-3、优先级

        在Python中,身份运算符isis not本身并没有内部的优先级之分,因为它们是单个的运算符,不是组合运算符

4-7、成员运算符
4-7-1、定义

        在Python中,成员运算符(Membership Operators)用于测试一个对象(通常是序列类型,如字符串、列表、元组或集合)是否包含另一个对象作为其子元素的运算符

4-7-2、分类
4-7-2-1、在...内(in)
  1. # 7-1、在...内(in)
  2. # 如果指定的对象存在于另一个对象(如列表、元组、字典、字符串或集合)中,则返回True
  3. # 列表中的成员检查
  4. my_list = [1, 2, 3, 4, 5]
  5. print(3 in my_list) # 输出:True
  6. # 字符串中的成员检查
  7. my_string = "hello world"
  8. print('world' in my_string) # 输出:True
  9. # 字典中的成员检查(注意:这里检查的是键)
  10. my_dict = {'name': 'Myelsa', 'age': 18}
  11. print('name' in my_dict) # 输出:True
  12. # 集合中的成员检查
  13. my_set = {1, 2, 3}
  14. print(2 in my_set) # 输出:True
4-7-2-2、不在...内(not in)
  1. # 7-2、不在...内(not in)
  2. # 如果指定的对象不存在于另一个对象中,则返回True
  3. # 列表中的成员检查
  4. my_list = [1, 2, 3, 4, 5]
  5. print(6 not in my_list) # 输出:True
  6. # 字符串中的成员检查
  7. my_string = "hello world"
  8. print('world' not in my_string) # 输出:False
  9. # 字典中的成员检查(注意:这里检查的是键)
  10. my_dict = {'name': 'Myelsa', 'age': 18}
  11. print('name' not in my_dict) # 输出:False
  12. # 集合中的成员检查
  13. my_set = {1, 2, 3}
  14. print(2 not in my_set) # 输出:False
4-7-3、优先级

        在Python中,成员运算符innot in本身并没有内部的优先级之分,因为它们是单个的运算符,不是组合运算符

4-8、三元运算符
4-8-1、定义

        在Python中,三元运算符(也称为条件表达式或条件运算符)是一种简洁的编写条件语句的方式,它允许你在一行代码中根据条件来返回两个值中的一个,由if...else...结构组成,但写法更加紧凑。

4-8-2、语法
  1. # 8-1、语法:value_if_true if condition else value_if_false
  2. # 8-2、说明:condition是一个表达式,其结果将被评估为True或False
  3. # 如果condition为True,则整个表达式的结果将是value_if_true
  4. # 如果condition为False,则结果将是value_if_false
4-8-3、示例
  1. # 8-3、示例:
  2. x = 10
  3. y = "positive" if x > 0 else "non-positive"
  4. print(y) # 输出: "positive"
  5. x = -5
  6. y = "positive" if x > 0 else "non-positive"
  7. print(y) # 输出: "non-positive"

5、明确优先级

优先级序号中文说明运算符备注



01括号() 
02一元运算符+X,-X,~X,+=,-=+代表正号;-代表负号
03**,**= 
04乘法/(整)除法/取模*,*=,/,/=,//,//=,%,%= 
05加法/减法+,+=,-,-=+代表加号;-代表减号
06位运算符<<,>> 
07按位与运算符& 
08按位异或运算符^ 
09按位或运算符| 
10比较运算符<,<=,>,>=,!=,== 
11身份运算符is,is not 
12成员运算符in,not in 
13逻辑运算符not,and,or 
14赋值运算符= 

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/733025
推荐阅读
相关标签
  

闽ICP备14008679号