我在下面的代码中遇到“未绑定方法”错误

时间:2018-03-20 15:02:16

标签: python-2.7

import pandas as pd
class main_class:
    def __init__(self,data_frame):
        self.data_frame = data_frame
    def read_csv(self):
        data_frame = pd.read_csv("outputfile.csv")
        return data_frame
inc = main_class
print(inc.read_csv)

通过运行此代码我得到了未绑定的方法错误

1 个答案:

答案 0 :(得分:0)

您所看到的不是错误,而是功能的描述。

此代码存在几个问题。

  • 您正在打印该功能,而不是打印该功能的返回值。换句话说,你永远不会调用这个函数。

  • 您永远不会创建main_class

  • 的实例

要解决上述两个问题,您需要添加()

inc = main_class()
#               ^
print(inc.read_csv())
#                 ^

现在您将收到TypeError错误,因为main_class.__init__需要参数。

  • main_class.__init__接受一个参数并将其存储到self.data_frame,而不是在任何地方使用。 data_frame中的read_csvself.data_frame无关。

  • 作为旁注,最好是Python 2中的类子类object

    class main_class(object):
        ...
    

在底线,您可能需要阅读Python教程,以重新审视类和方法的基本概念是如何工作的。