在Python方法中使用self作为临时变量会有所不同吗?

在Python方法中使用self作为临时变量会有所不同吗?,第1张

概述我有时需要在方法定义中使用临时变量,这些变量不在方法之外使用.在下面的类定义中使用self.MyVariable和MyVariable之间的行为有什么不同吗?哪种方法更好,为什么? 示例1:self.MyVariable class MyClass: def Hello(self, Name): self.MyVariable = "Hello " + Name 我有时需要在方法定义中使用临时变量,这些变量不在方法之外使用.在下面的类定义中使用self.MyVariable和MyVariable之间的行为有什么不同吗?哪种方法更好,为什么?

示例1:self.MyVariable

class MyClass:    def Hello(self,name):        self.MyVariable = "Hello " + name        return self.MyVariable

例2:MyVariable

class MyClass:    def Hello(self,name):        MyVariable = "Hello " + name        return MyVariable
解决方法 第一个在类实例上创建持久引用,并且可以在方法范围之外的对象上使用.后者创建一个纯粹的本地引用,在方法之外不可用.哪个更好取决于具体情况,但如果它实际上只是一个临时变量,则使用本地(非自身)变量.

情况1:

>>> foo = MyClass()>>> foo.MyVariable...AttributeError: 'MyClass' object has no attribute 'MyVariable'>>> foo.Hello('bar')'Hello bar'>>> foo.MyVariable'Hello bar'

情况2如上所述,除了在调用Hello之后MyVariable仍然不是对象的属性.

总结

以上是内存溢出为你收集整理的在Python方法中使用self作为临时变量会有所不同吗?全部内容,希望文章能够帮你解决在Python方法中使用self作为临时变量会有所不同吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1193371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存