初学者的“类方法”和“静态法”的含义?

初学者的“类方法”和“静态法”的含义?

有人能给我解释一下@classmethod@staticmethod在蟒蛇?我需要知道区别和意义。

据我所知,@classmethod告诉类它是一个应该继承到子类中的方法,或者.某物。然而,这又有什么意义呢?为什么不直接定义类方法而不添加@classmethod@staticmethod或任何@定义?

什么时候我应该用它们吗,为什么我应该用它们吗多么,怎样我应该用它们吗?

我在C+方面非常先进,所以使用更高级的编程概念应该不是问题。如果可能的话,可以给我一个相应的C+例子。


守着星空守着你
浏览 422回答 3
3回答

翻翻过去那场雪

@classmethod方法:当调用该方法时,我们将类作为第一个参数传递,而不是该类的实例(与通常对方法所做的一样)。这意味着您可以在该方法中而不是在特定实例中使用该类及其属性。@staticmethod方法:当这个方法被调用时,我们不会将类的一个实例传递给它(就像我们通常对方法所做的那样)。这意味着您可以在类中放置一个函数,但不能访问该类的实例(当您的方法不使用实例时,这很有用)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python