python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python 运算符

Python 运算符Inplace 与Standard 

作者:海拥

这篇文章主要介绍了Python 运算符Inplace 与Standard,nplace运算符的行为类似于普通运算符,只是它们在可变和不可变目标的情况下以不同的方式运行

前言:

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

案例 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 运算符 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文