Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从单独的类执行函数?_Python - Fatal编程技术网

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

Python 如何从单独的类执行函数?,python,Python,我正在使用Anaconda发行版中的Python 2.7。我试图将复杂的数据集成过程组织到不同的类和函数中,以便更好地管理它 作为一个简化的例子,我在一个名为function\u 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=['

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

作为一个简化的例子,我在一个名为
function\u 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\u call.py
调用并执行上述逻辑:

import function_test

perform = function_test.Perform
perform.work
但是,当我执行函数_call.py时,我收到以下消息,并且没有打印任何内容

UMD has deleted: function_test
如何设置此示例,以便导入并执行函数_test,从而从function_call.py中获得测试_df


感谢您的建议。

首先,不要像这样使用老式类:

class Perform:
    pass
使用新样式的类:

class Perform(object):
    pass
接下来,您应该记住-
work
是类
Perform
方法。因此,您应该首先实例化它:

perform = function_test.Perform()
perform.work()
现在能用了吗

添加括号

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

它确实从函数_test.py内部执行和打印。如何在function_call.py中使用测试_df?我添加了打印test_df.d类型,得到一个“test_df”未定义错误。您可以从函数中返回它:
return test_df
并使用:
test_df=perform.work()