本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!
文章目录
一、前言
本文分享一些关于Python编程中运算符的知识。
-
什么是Python?
Python是由荷兰人吉多·范罗苏姆于1990年初设计的一门高级编程语言,该语言应用领域非常广泛,尤其在数据科学、人工智能、游戏开发等领域,它已经成为最受欢迎的程序设计语言之一,非常适合新手学习。
Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/turtle.html#turtle-methods
-
Python语言有哪些特点?
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.丰富的库:Python的最大的优势之一具有丰富的标准库,并且跨平台的,在UNIX,Windows和Mac兼容很好。
5.面向对象:Python支持面向对象编程,在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
二、Python 运算符
2.1 什么是运算符?
如下简单的例子,a 和 b 被称为操作数,+ 称为运算符。
a + b
Python 语言支持以下类型的运算符:
1、算术运算符
2、比较(关系)运算符
3、赋值运算符
4、逻辑运算符
5、位运算符
6、成员运算符
7、身份运算符
接下来让我们一个个来了解Python的运算符。
2.2 Python算术运算符
以下假设变量 a=10,变量 b=21:
实例如下:
#!/usr/bin/python3
a = 3
b = 2
c = a + b
print ("1 - c 的值为:", c)
c = a - b
print ("2 - c 的值为:", c)
c = a * b
print ("3 - c 的值为:", c)
c = a / b
print ("4 - c 的值为:", c)
c = a % b
print ("5 - c 的值为:", c)
c = a**b
print ("6 - c 的值为:", c)
c = a//b
print ("7 - c 的值为:", c)
实例运行结果如下:
1 - c 的值为: 5
2 - c 的值为: 1
3 - c 的值为: 6
4 - c 的值为: 1.5
5 - c 的值为: 1
6 - c 的值为: 9
7 - c 的值为: 1
2.3 Python 比较运算符
以下假设变量 a 为 10,变量 b 为20:
实例如下:
#!/usr/bin/python3
a = 10
b = 20
if ( a == b ):
print ("1 - a 等于 b")
else:
print ("1 - a 不等于 b")
if ( a != b ):
print ("2 - a 不等于 b")
else:
print ("2 - a 等于 b")
if ( a < b ):
print ("3 - a 小于 b")
else:
print ("3 - a 大于等于 b")
if ( a > b ):
print ("4 - a 大于 b")
else:
print ("4 - a 小于等于 b")
if ( a <= b ):
print ("5 - a 小于等于 b")
else:
print ("5 - a 大于 b")
if ( b >= a ):
print ("6 - b 大于等于 a")
else:
print ("6 - b 小于 a")
实例运行结果如下:
1 - a 不等于 b
2 - a 不等于 b
3 - a 小于 b
4 - a 小于等于 b
5 - a 小于等于 b
6 - b 大于等于 a
2.4 Python赋值运算符
以下假设变量a为10,变量b为20:
实例如下:
#!/usr/bin/python3
a = 2
b = 3
c = a + b
print ("1 - c 的值为:", c)
a = 2
c = 3
c += a
print ("2 - c 的值为:", c)
a = 2
c = 3
c *= a
print ("3 - c 的值为:", c)
a = 2
c = 3
c /= a
print ("4 - c 的值为:", c)
a = 2
c = 3
c %= a
print ("5 - c 的值为:", c)
a = 2
c = 3
c **= a
print ("6 - c 的值为:", c)
a = 2
c = 3
c //= a
print ("7 - c 的值为:", c)
实例运行结果如下:
1 - c 的值为: 5
2 - c 的值为: 5
3 - c 的值为: 6
4 - c 的值为: 1.5
5 - c 的值为: 1
6 - c 的值为: 9
7 - c 的值为: 1
在 Python 3.8 及更高版本中,引入了一种新的语法特性,称为"海象运算符"(Walrus Operator),它使用 := 符号。这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。
海象运算符实例如下:
#!/usr/bin/python3
# 传统写法
n = 10
if n > 5:
print(n)
# 使用海象运算符
if (n := 10) > 5:
print(n)
海象运算符实例运行结果如下:
10
10
海象运算符的优点:
1、海象运算符(:=)允许在表达式内部进行赋值,这可以减少代码的重复,提高代码的可读性和简洁性。
2、在上述例子中,传统写法需要单独一行来赋值 n,然后在 if 语句中进行条件检查。而使用海象运算符的写法可以在 if 语句中直接进行赋值和条件检查。
2.5 Python位运算符
按位运算符是把数字看作二进制来进行计算的。
下表中变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
Python中的按位运算法则如下:
实例如下:
#!/usr/bin/python3
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b # 12 = 0000 1100
print ("1 - c 的值为:", c)
c = a | b # 61 = 0011 1101
print ("2 - c 的值为:", c)
c = a ^ b # 49 = 0011 0001
print ("3 - c 的值为:", c)
c = ~a # -61 = 1100 0011
print ("4 - c 的值为:", c)
c = a << 2 # 240 = 1111 0000
print ("5 - c 的值为:", c)
c = a >> 2 # 15 = 0000 1111
print ("6 - c 的值为:", c)
实例运行结果如下:
1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15
2.6 Python逻辑运算符
在Python中,逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型。Python提供了三个基本的逻辑运算符:与(and)、或(or)和非(not)。
运算符 | 描述 | 实例 |
---|---|---|
and | 与运算符:当两个操作数都为True时,结果才为True。如果任何一个操作数为False,则结果为False。 | 例如,a = True; b = True; print(a and b) 将输出 True,而 a = True; b = False; print(a and b) 将输出 False。 |
or | 或运算符:只要两个操作数中有一个为True,结果就为True。只有当两个操作数都为False时,结果才为False。 | 例如,a = True; b = False; print(a or b) 将输出 True,而 a = False; b = False; print(a or b) 将输出 False。 |
not | 非运算符:对一个操作数进行逻辑否定。如果操作数为True,则结果为False;如果操作数为False,则结果为True。 | 例如,print(not False) 将输出 True,而 print(not True) 将输出 False。 |
注意:使用逻辑运算符时,应注意运算符的优先级和表达式的书写习惯。为了提高表达式的可读性和避免歧义,建议在复杂的逻辑表达式中使用括号。例如,(a < b) and (b < c) 这样的表达式比 a < b and b < c 更清晰,因为它明确地指出了逻辑运算的顺序。
实例如下:
#!/usr/bin/python3
# 使用Python逻辑运算符的简单例子
# 逻辑与运算符
a = 10
b = 20
if (a > 5) and (b > 15):
print("1-结果为: 条件1和条件2都满足")
else:
print("1-结果为: 条件1和条件2都不满足")
# 逻辑或运算符
if (a > 15) or (b > 15):
print("2-结果为: 条件1或条件2满足")
else:
print("2-结果为: 条件1和条件2都不满足")
# 逻辑非运算符
if not (a > 20):
print("3-结果为: a不大于20")
else:
print("3-结果为: a大于20")
# 简写与优先级
# 与运算符优先级高于或运算符,可以直接结合
if a > 5 and b > 15 or a > 15:
print("4-结果为: 某些条件满足")
else:
print("4-结果为: 条件都不满足")
# 使用括号可以改变优先级
if (a > 5 and b > 15) or (a > 15):
print("5-结果为: 条件1和条件2都满足 或者 a大于15")
else:
print("5-结果为: 条件都不满足")
运行结果如下:
1-结果为: 条件1和条件2都满足
2-结果为: 条件1或条件2满足
3-结果为: a不大于20
4-结果为: 某些条件满足
5-结果为: 条件1和条件2都满足 或者 a大于15
2.7 Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
实例如下:
#!/usr/bin/python3
a = 3
b = 6
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中")
if ( b not in list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中")
实例运行结果如下:
1 - 变量 a 在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
2.8 Python身份运算符
身份运算符用于比较两个对象的存储单元。
注: id() 函数用于获取对象内存地址。
实例如下:
#!/usr/bin/python3
a = [1, 2, 3]
b = [1, 2, 3]
if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
print ("2 - a 和 b 有相同的标识")
else:
print ("2 - a 和 b 没有相同的标识")
if ( a == b ):
print ("3 - a 和 b 值相等")
else:
print ("3 - a 和 b 值不相等")
print("4- a的内存地址:"+str(id(a)))
print("5- b的内存地址:"+str(id(b)))
实例运行结果如下:
1 - a 和 b 没有相同的标识
2 - a 和 b 没有相同的标识
3 - a 和 b 值相等
4- a的内存地址:139687219017024
5- b的内存地址:139687219031488
注意,is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
2.9 Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。 相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):
三、总结
以上介绍了一些关于Python编程中运算符的知识,并提供了对应的示例代码。希望对大家有帮助,谢谢。
如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)