繁体   English   中英

在辅助方法中将自身作为参数传递

[英]passing self as an argument in a helper method

我正在使用一个类,正在尝试从该类内部调用一个辅助方法。 我有下面的代码可以工作,但是我不确定为什么在方法中已经有“自我”作为自变量时,为什么我必须将“自我”作为自变量传递给辅助函数。 在下面的示例中调用Frequency .__ helper(self,record)时,是否有理由必须将其作为参数传递?

谢谢!

class Frequency:

    def __init__(self, record):
        self.record = record

    def __helper(self, datalist)
        do something to datalist...

    def getFreq(self):
        allrec = self.record
        record = allrec[1].split(' ')
        var = Frequency.__helper(self, record)
        return var

调用方法的正确方法是

var = self.__helper(record)

那做同样的事情,但是以更直观的方式。

是的,在这种情况下,您必须这样做,因为您没有将函数声明为@staticmethod 如果方法不是静态的,则需要传递实例。

如果您执行以下操作:

class Frequency:
    @staticmethod
    def test(datalist):
        pass

您无需在参数列表中定义self。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM