Python 导入模块的返回值不工作

Python 导入模块的返回值不工作,python,import,module,return-value,Python,Import,Module,Return Value,我有一个python文件(project_root/usermodule/user_controls.py),其中只包含以下代码: class UControl(): def login(self): return 'John' 我还有一个类(project_root/main_file.py),它导入的用户控件(上面的文件)只包含以下代码 import os from usermodule import user_controls if __name__ == '_

我有一个python文件(project_root/usermodule/user_controls.py),其中只包含以下代码:

class UControl():
    def login(self):
        return 'John'
我还有一个类(project_root/main_file.py),它导入的用户控件(上面的文件)只包含以下代码

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”时)。

这是问题中的输入错误还是程序中的输入错误:
login\u response
!=<代码>登录\响应

如果我纠正了这个错误,脚本将在我的机器上完美地运行。(您可能希望使用
类UControl(对象):
而不是
类UControl():

错误没有打印出来,这表明您的代码甚至没有运行。你是如何调用它的


另外,第二个文件实际上是一个模块(作为第一个),而不是您在问题中所述的类。

发现其他人也有类似问题。我只是删除了这个文件,创建了一个新的文件,粘贴了我的旧代码并编译/运行了它,它工作得很好。Eclipse在捉弄我。感谢您的收看,但现在看来问题已经解决。

哈哈,打字错误只是个问题。我根本无法让它起作用,也看不出有什么理由不起作用。@JHarris:它对我也起作用。你能回答GaretJax关于如何调用它的问题吗?您将模块描述为一个类的事实让我想知道,“when I run”是指“when I import”,而不是“when I type‘python main_file.py’”。在后一种情况下,双下划线名称将仅设置为双下划线main。[等等,在标题中你说的是“来自导入的模块”,所以可能就是这个。]@DSM:我认为,当他谈到“导入的模块”时,他指的是“用户控制”模块(他希望从中获得一个值)。@DSM GaretJax如何描述它是正确的。首先,我为不清楚道歉。