如何从单独的类执行函数?

时间:2014-06-17 17:47:57

标签: python

我正在使用Anaconda发行版中的Python 2.7。我正在尝试将复杂的数据集成过程组织到不同的类和函数中,以便我可以更好地管理它。

作为一个简化示例,我将一部分流程放在名为function_test.py

的文件中
import pandas as pd
import numpy as np

class Perform:
    def work(self):
        test_df = pd.DataFrame(np.random.randn(10,4), columns=['a','b','c','d'])
        print "really?"
        print test_df

我想从function_call.py调用并执行上述逻辑,该逻辑位于同一目录中:

import function_test

perform = function_test.Perform
perform.work

但是,当我执行function_call.py时,我收到以下消息,并且没有打印任何内容。

UMD has deleted: function_test

如何设置此示例以便导入并执行function_test,以便在function_call.py中提供test_df?

感谢任何建议。

2 个答案:

答案 0 :(得分:1)

首先,不要使用旧式的课程:

class Perform:
    pass

使用新式课程:

class Perform(object):
    pass

接下来,您应该记住 - work是类Perform方法。所以你应该首先实例化它:

perform = function_test.Perform()
perform.work()

现在有效吗?

答案 1 :(得分:1)

添加括号。

perform = function_test.Perform()
perform.work()