Python 教程之运算符(8)—— Inplace vs Standard 运算符

简介: Python 教程之运算符(8)—— Inplace vs Standard 运算符

普通运算符执行简单的分配工作。另一方面,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]
目录
相关文章
|
6天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
38 8
|
6天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
26 7
|
6天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
27 4
|
6天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
24 5
|
29天前
|
Python
Python运算符优先级
Python运算符优先级。
21 3
|
29天前
|
Python
Python成员运算符
Python成员运算符
27 2
|
29天前
|
Python
Python身份运算符
Python身份运算符。
22 1
|
1月前
|
Python
SciPy 教程 之 Scipy 显著性检验 9
SciPy 教程之 Scipy 显著性检验第9部分,介绍了显著性检验的基本概念、作用及原理,通过样本信息判断假设是否成立。着重讲解了使用scipy.stats模块进行显著性检验的方法,包括正态性检验中的偏度和峰度计算,以及如何利用normaltest()函数评估数据是否符合正态分布。示例代码展示了如何计算一组随机数的偏度和峰度。
27 1
|
16天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
15天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
下一篇
DataWorks