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