Python 运算符Inplace 与Standard 

09-16 202阅读 0评论

前言:

普通运算符执行简单的分配工作。另一方面,Inplace 运算符的行为似于普通运算符,只是它们在可变和不可变目标的情况下以不同的方式运行。

_add_方法进行简单的加法,接受两个参数,返回总和,并将其存储在另一个变量中,而不修改任何参数。另一方面,iadd方法也接受两个参数,但它通过将总和存储在其中来对传递的第一个参数进行就地更改。由于在此过程中需要对象突变,因此不可变目标(例如数字、字符串元组不应具有iadd方法普通运算符的“add()”方法,实现“a+b”并将结果存储在提到的变量中。Inplace 运算符的“iadd()”方法,如果存在“a+=b”(即在不可变目标的情况下,它不存在),则实现“a+=b”并更改传递参数的值。但如果不是,则执行“a+b”

案例 1不可变目标。

在不可变目标中,例如数字、字符串和元组。就地运算符的行为与普通运算符相同,即只进行赋值,不修改传递的参数。

# 用于演示不可变目标中的 Inplace 和 Normal 运算符之间区别的 Python 代码  # 导入算子处理算子操作 import operator  # 初始化值 x = 5 y = 6 a = 5 b = 6  # 使用 add() 添加传递的参数 z = operator.add(a,b)  # 使用 iadd() 添加传递的参数 p = operator.iadd(x,y)  # 打印修改后的值 print ("使用 normal 运算符添加后的值: ",end="") print (z)  # 打印修改后的值 print ("使用 Inplace 运算符添加后的值: ",end="") print (p)  # printing value of first argument # value is unchanged print ("使用 normal 运算符的第一个参数的值: ",end="") print (a)  # printing value of first argument # value is unchanged print ("使用 Inplace 运算符的第一个参数的值: ",end="") print (x)

输出

使用 normal 运算符添加后的值: 11使用 Inplace 运算符添加后的值: 11使用 normal 运算符的第一个参数的值: 5使用 Inplace 运算符的第一个参数的值: 5

案例 2可变目标

Inplace 运算符在可变目标(例如列表字典)中的行为与普通运算符不同。更新和分配都在可变目标的情况下执行。

# python 代码演示可变目标中的 Inplace 和 Normal 运算符之间的区别  # 导入算子处理算子操作 import operator  # 初始化列表 a = [1, 2, 4, 5]  # 使用 add() 添加传递的参数 z = operator.add(a,[1, 2, 3])  # 打印修改值 print ("使用 normal 运算符添加后的值: ",end="") print (z)  # 第一个参数值的打印值不变 print ("使用 normal 运算符的第一个参数的值: ",end="") print (a)  # 使用 iadd() 添加传递的参数执行 a+=[1, 2, 3] p = operator.iadd(a,[1, 2, 3])  # 打印修改值 print ("使用 Inplace 运算符添加后的值: ",end="") print (p)  # 第一个参数值的打印值已更改 print ("使用 Inplace 运算符的第一个参数的值: ",end="") print (a)

输出:

使用 normal 运算符添加后的值: [1, 2, 4, 5, 1, 2, 3]使用 normal 运算符的第一个参数的值: [1, 2, 4, 5]使用 Inplace 运算符添加后的值 [1, 2, 4, 5, 1, 2, 3]使用 Inplace 运算符的第一个参数的值: [1, 2, 4, 5, 1, 2, 3]

到此这篇关于Python 运算符Inplace 与Standard的文章就介绍到这了,更多相关Python 运算符 内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,202人围观)

还没有评论,来说两句吧...