[英]How to take the resulting object of a function called from another module?
想法是这样的-假设我在module2.py
有一个名为def run(example):
的函数def run(example):
作为运行它的结果,它具有一个数据框对象,我们将其df_1
。 如果我在module1.py
内部调用module2.run(example)
我将能够继续使用df_1
内部的结果module1.py
并以所需的方式操作数据吗? 我是否需要将该函数放在module2.py
内的类中以执行此操作? 或者如果这是计划,我应该如何构造我的代码?
是的,您可以完全按照您所说的方式进行操作,在module1.py中,只需像“ import module2”一样导入module2.py,或者如果函数在类内,则可以像从“ module2 import classname”中一样导入它。然后,您可以创建该类的对象,然后调用该方法。 您需要从运行功能返回数据框对象才能使用它。 您也可以将其保留在全局范围内,但建议采用这种方式。
例如,如果你有课
from module2 import MyClass
my_obj1 = MyClass()
df1 = my_obj1.run(param1,param2 etc)
module2.run(example)
时,它创建了一个在ram中占用空间的对象,并返回了指向该对象的指针。
# Inside module2.py
import pandas as pd
def run(example):
return pd.DataFrame(1, range(10), range(10))
# Inside module1.py
import module2
df_1 = module2.run(example)
df_1.loc[:] = 2
print(df_1)
0 1 2 3 4 5 6 7 8 9
0 2 2 2 2 2 2 2 2 2 2
1 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
3 2 2 2 2 2 2 2 2 2 2
4 2 2 2 2 2 2 2 2 2 2
5 2 2 2 2 2 2 2 2 2 2
6 2 2 2 2 2 2 2 2 2 2
7 2 2 2 2 2 2 2 2 2 2
8 2 2 2 2 2 2 2 2 2 2
9 2 2 2 2 2 2 2 2 2 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.