我创建了以下构造函数:
class Analysis:
def __init__(self, file_list, tot_col, tot_rows):
self.file_list = file_list
self.tot_col = tot_col
self.tot_rows = tot_rows
然后我从同一个文件中调用full_analysis()
方法calc_total_rows()
:
def full_analysis(self):
"""Currently runs all the analysis methods"""
print('Analysing file...\n' +
'----------------------------\n')
calc_total_rows()
我从另一个文件调用full_analysis()
但是发生了错误,说明calc_total_rows()
没有定义,方法就在它下面。
我对Python缺乏经验但是我试图重新安排代码并添加“自我”。在各个地方无济于事。
另一个文件确实符合构造函数的要求,如果我删除calc_total_rows()
方法,则运行打印行。但是我不希望单独调用每个方法,并且想调用一个运行它们的方法。
答案 0 :(得分:2)
如果calc_total_rows
是您的问题所暗示的实例方法,那么您需要从self.calc_total_rows()
内调用full_analysis
。与其他一些语言不同,Python在方法范围内没有隐式实例引用;您必须从self
显式检索成员方法。
答案 1 :(得分:0)
我希望我早点找到这个。
为了解决这个问题,我不得不在方法前面使用 self 。
在我的例子中:
def full_analysis(self):
"""Currently runs all the analysis methods"""
print('Analysing file...\n' +
'----------------------------\n')
self.calc_total_rows()
这很有效。