我有另一个初学者问题,我无法找到自己的解决方案,特别是因为我可能说错了。
我有两个python文件。我需要这样做:
文件一:
def Main():
def whatever(a,b):
#do whatever
第二档:
Import Main
Main.whatever(str a, str b)
我该怎么做?
答案 0 :(得分:2)
首先,你不要导入这样的函数,你导入模块。
如果您有一个名为main.py
的文件包含函数Main
,您可以:
import main
main.Main()
或
from main import Main
Main()
其次,函数whatever
在Main
中是本地的,退出Main
函数后不存在。你可能想要使用一个类:
class Main(object):
def whatever(self, a, b):
# Do something
然后像这样称呼它:
main = Main()
main.whatever(something, something_else)
答案 1 :(得分:0)
您可以从Main返回函数指针,并在其他地方使用它。
第一档:
def Main():
def whatever(a,b):
#do whatever
return whatever # Return function pointer
第二档:
from main import Main
whatever = Main()
whatever(a,b) # Call whatever
答案 2 :(得分:-1)
test.py
class Example:
def printhello():
print "hello"
其他python文件可以使用此
import test
ex = test.Example()
稍后您可以使用ex.printhello()
或
from test import printhello
您只能使用printhello()