如何解决AttributeError:“函数”对象没有属性“ x”
对不起,我有点初学者,但是为什么这样做:
class myClass:
def myDef(self):
x = 5
print(myClass.myDef.x)
导致此错误:
print(myClass.myDef.x)
AttributeError: 'function' object has no attribute 'x'
我把变量叫错了吗?
有什么帮助吗?
解决方法
这个问题有点含糊,但是特别是当您提到您是一个初学者时,我将根据一般使用类的方式来猜测一下您可能想在这里做什么,希望对您有所帮助。
似乎这里的可能意图是设置类实例的属性(而不是设置函数的属性,这将是一件不寻常的事情)。您需要在self.x
方法中使用x
来代替局部变量myDef
,因为x
完成后myDef
的值将被破坏。 。您还必须创建类的实例,然后再在该实例上调用myDef
方法。然后可以打印实例的x
属性。
class MyClass:
def myDef(self):
self.x = 5 # this sets an instance variable
myObj = MyClass() # this creates an instance of your class
myObj.myDef() # this calls the `myDef` method,with `self` pointing to `myObj`
print(myObj.x)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。