在python中是否有理由将自己传递给类中的静态方法?

我正在One-Class Neural Network处查看代码。

作者创建一个@staticmethod

@staticmethod
def custom_ocnn_loss(self,nu,w,V):

,但稍后在OC_NN fit实例方法中,使用类名对其进行访问并传入self

model.compile(loss=OC_NN.custom_ocnn_loss(self,V),optimizer=opt,metrics=None)

是否有这样做的理由(即创建@staticmethod,它以self作为参数,并使用类名在实例方法内部进行访问)?

MaiRongJian 回答:在python中是否有理由将自己传递给类中的静态方法?

在脚本中,custom_ocnn_loss函数具有@staticmethod装饰器,这意味着它不是实例方法,而是静态方法。变量self的建议可能有所不同,但是在调用custom_ocnn_loss函数时,会将self变量传递给它。

本文链接:https://www.f2er.com/3147967.html

大家都在问