首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python对象调用另一个文件函数

Python对象调用另一个文件函数
EN

Stack Overflow用户
提问于 2018-07-26 04:15:48
回答 1查看 36关注 0票数 -1

以下是我的问题的简化代码。我在'class1.py‘文件中有一个类,eventHandler有时会被该类中的另一个函数调用。

代码语言:javascript
复制
class FOO:
    def eventHandler(self, message):
        processMessage(message)

我希望这个类调用文件'main.py‘中的函数processMessage。

代码语言:javascript
复制
from class1 import FOO

def processMessage(message):
    processMore(message)

def processMore(message):
    print(message)

myClass = FOO()

如何做到这一点?我是否必须将processMessage传递给对象,然后它才能调用另一个未传递的函数?

EN

回答 1

Stack Overflow用户

发布于 2018-07-26 04:27:59

好的,让我们用一个简单的例子来类比你的情况。我们有两个文件:

foo.py

代码语言:javascript
复制
from bar import bar


class Foo:
    def foo():
        bar()

bar.py

代码语言:javascript
复制
from foo import Foo


def bar():
    print('bar')


foo = Foo()

实际上,当我们运行python foo.py时,我们得到的是ImportError: cannot import name 'bar'。这是由循环依赖引起的(有关导入go here的更多信息)。避免这种情况的一种非常简单的方法是将from foo import Foo移到文件的底部:

bar.py 2

代码语言:javascript
复制
def bar():
    print('bar')


from foo import Foo
foo = Foo()

现在它应该可以工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51527010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档