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

问题描述 投票:0回答:1

我正在查看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,nu, w, V), optimizer=opt,metrics=None)

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

python instance-variables class-variables
1个回答
3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.