尝试调用实例方法输出AttributeError:object没有属性

时间:2018-05-23 15:43:10

标签: python python-2.7

我试图运行一个简单的python脚本,但不知怎的,我得到了这个错误:

AttributeError: 'Script' object has no attribute 'run'

我的代码如下所示:

class Script(object):
  def __init__(self, data1, data2, data3):
     self.data1 = data1
     self.data2 = data2
     self.data3 = data3

     def getData1(self):
         return self.data1

     def getData2(self):
         return self.data2

     def getData3(self):
         return self.data3

     def run(self):
         return 'Running successfully'

 script1 = Script('data1', 'data2', 'data3')
 print script1.run()

如果有人可以帮助我,那会很棒。)

3 个答案:

答案 0 :(得分:1)

你的run()和其他方法()是在 init ()标识下定义的 试试这个: -

MethodDescriptor

答案 1 :(得分:1)

从问题中格式化代码的方式来看,似乎所有函数getData1getData2getData3run都是方法{{1}的闭包,而不是类本身的方法。 这意味着它们不是对象实例的方法,因此无法从外部__init__访问。

您可以将代码重新格式化为

__init__

这将使上面提到的所有函数类的方法。

答案 2 :(得分:0)

从第一眼开始,你应该在第二行修复缩进。