【Python基础】Python运算符

本文收录于 《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编程中运算符的知识,并提供了对应的示例代码。希望对大家有帮助,谢谢。

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑苏老陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值