Python 运算符Inplace 与Standard 

 更新时间:2022年09月16日 09:39:54   作者:海拥  
这篇文章主要介绍了Python 运算符Inplace 与Standard,nplace运算符的行为类似于普通运算符,只是它们在可变和不可变目标的情况下以不同的方式运行

前言:

普通运算符执行简单的分配工作。另一方面,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 运算符 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas DataFrame 根据多列的值做判断,生成新的列值实例

    pandas DataFrame 根据多列的值做判断,生成新的列值实例

    今天小编就为大家分享一篇pandas DataFrame 根据多列的值做判断,生成新的列值实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python Bamboolib库加速Pandas数据分析过程详解

    python Bamboolib库加速Pandas数据分析过程详解

    这篇文章主要介绍了python Bamboolib库加速Pandas数据分析过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python实现杨辉三角思路

    python实现杨辉三角思路

    本文给大家分享的是作者使用python实现杨辉三角的思路,非常的实用,有需要的小伙伴可以参考下
    2017-07-07
  • Python实现自动识别并填加验证码的示例代码

    Python实现自动识别并填加验证码的示例代码

    实现自动识别网页中的验证码并填写,需要结合使用网络爬虫技术、图像识别(OCR),以及可能的浏览器自动化工具(如Selenium),本文给大家介绍了Python实现自动识别并填加验证码的示例,需要的朋友可以参考下
    2024-06-06
  • Python中pip工具的安装以及使用

    Python中pip工具的安装以及使用

    今天给大家带来关于Python的相关知识,文章围绕着pip工具的安装以及使用展开,文中有非常详细的图文示例及介绍,需要的朋友可以参考下
    2021-06-06
  • web自动化测试Selenium点击元素的常用方法

    web自动化测试Selenium点击元素的常用方法

    在Web自动化测试中,Selenium提供多种点击方法,常用的click()方法通过选中元素并触发点击事件,若click()方法不稳定,可以采用JavaScript执行点击或使用ActionChains类模拟鼠标点击,需要的朋友可以参考下
    2024-09-09
  • Python 查看文件的读写权限方法

    Python 查看文件的读写权限方法

    下面小编就为大家分享一篇Python 查看文件的读写权限方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • pycharm配置python 设置pip安装源为豆瓣源

    pycharm配置python 设置pip安装源为豆瓣源

    这篇文章主要介绍了pycharm配置python 设置pip安装源为豆瓣源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python实现线性插值的示例

    python实现线性插值的示例

    线性插值是针对一维数据的插值方法,它根据一维数据序列中需要插值的点的左右临近两个数据来进行数值估计,这篇文章主要介绍了python实现线性插值,需要的朋友可以参考下
    2022-12-12
  • python中使用(.)进行相对路径访问文件的操作方法

    python中使用(.)进行相对路径访问文件的操作方法

    在Python中,使用相对路径访问文件是一种常见的做法,尤其是在处理与脚本位于同一目录或附近目录的文件时,这篇文章主要介绍了python中使用(.)来进行相对路径访问文件,需要的朋友可以参考下
    2024-05-05

最新评论