self.x
如果x
不是类绑定变量或实例绑定变量,如何工作?在这种情况下,使用它有什么好处?通常,如果执行a.a1 = 5
,解释器将给出NameEror:名称a未定义。这意味着我们不能使用letter定义变量.
,因为它用于调用对象的属性。如果我写代码为
a = 5
a.a1 = 10
它给出AttributeError:int对象没有attribute x
。这是预期的。现在看下面的代码
class Example:
p = 1
def __init__(self):
self.q = 2
def my_function(self):
self.x = 5
return self.x
obj = Example()
print(obj.my_function())
print(dir(obj), obj.__dict__)
由于x
既不是类绑定变量,也不是一个实例绑定变量。因此,我假设x
它不是的属性,self
但它可以成功执行且没有任何错误。所以我想知道它是如何工作的。请解释一下,也请让我知道用法,因为按照说明我们可以使用它。
这样做self.x = 5
,你只需要创建一个新的属性,你可以在以后修改,就像一个普通的变量; 除非您通过实例访问它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句