Python中的@staticmethod与@classmethod
简介
一个比较简单粗暴的区分方式:要决定是使用@staticmethod还是@classmethod,你必须看看类方法内部。如果你的方法访问了类中的其他变量/方法,那么就使用@classmethod。另一方面,如果方法没有接触到类中的任何其他变量,那么就使用@staticmethod。
但是其设计有更深的逻辑联系:
classmethod主要用于替代构造函数。
staticmethod不使用对象的状态,甚至不使用类本身的结构。它可以是一个类外部的函数。它只放在类的内部,用于分组具有类似功能的函数(例如,像
原创
2022-04-25 20:16:11 ·
817 阅读 ·
0 评论