Python方法不返回

时间:2015-07-06 22:31:24

标签: python function methods return nonetype

我有一个奇怪的问题。我有一个应该返回列表的函数。我使用一个名为' common'的对象来调用该函数。并发现它总是返回None(common.reset_this)。但是当我在类之外定义这个函数时,它会返回它应该返回的内容。 我在这里有什么遗失。

class something_else():

    //
    ...

    //
    def reset_this(self,unit = 0):
        with self.__reset_lock:
            status = self.get_status(unit)
        return status

1 个答案:

答案 0 :(得分:4)

假设它不是一个错字,你错过了方法的自我论证,你需要:

class something_else():
    #
    # ...
    #
    def reset_this(self, unit = 0):
        with common.__reset_lock:
            status = common.get_status(unit)
        return status

没有它,单位会传递自我对象(而不是0),因为python并不关心你所谓的,第一个参数总是" self" object(调用该方法的对象)。