导入模块的返回值无效

-1 投票
2 回答
2850 浏览
提问于 2025-04-16 19:44

我有一个Python文件,路径是(project_root/usermodule/user_controls.py),里面只有以下代码:

class UControl():
    def login(self):
        return 'John'

我还有一个类,路径是(project_root/main_file.py),它在引入上面的user_controls文件,里面也只有以下代码。

import os
from usermodule import user_controls

if __name__ == '__main__':
    uc = user_controls.UControl()
    login_response = uc.login()
    if login_response == 'John':
        print login_response

当我运行第二段代码时,虽然没有报错,但也没有任何输出(我本来希望它能输出'John')。

2 个回答

3

你问的问题里是不是有拼写错误,还是你程序里的问题:login_reponselogin_response 不一样。

如果我把这个错误改正,脚本在我电脑上就能顺利运行了。(你可能想用 class UControl(object): 来代替 class UControl():)。

错误没有被打印出来,这说明你的代码根本没有运行。你是怎么调用它的呢?

另外,第二个文件其实也是一个模块(和第一个文件一样),并不是你在问题中说的那种类。

1

我发现有人遇到过类似的问题。我只是删除了那个文件,重新创建了一个新文件,把我之前的代码粘贴进去,然后编译和运行,结果一切都正常。看来是Eclipse在捣乱。谢谢大家关注,不过这个问题现在看起来解决了。

撰写回答