我正在自学 Python,我最近的一课是 Python is not Java ,所以我刚刚花了一段时间把我所有的 Class 方法都变成了函数。
我现在意识到我不需要使用 Class 方法来完成我在 Java 中使用 static
方法所做的事情,但现在我不确定何时会使用它们。我能找到的关于 Python 类方法的所有建议都是像我这样的新手应该避开它们,而标准文档在讨论它们时是最不透明的。
有没有人有一个在 Python 中使用 Class 方法的好例子,或者至少有人可以告诉我什么时候可以合理使用 Class 方法?
最佳答案
类方法适用于当您需要具有不特定于任何特定实例但仍以某种方式涉及类的方法时。关于它们最有趣的是它们可以被子类覆盖,这在 Java 的静态方法或 Python 的模块级函数中根本不可能。
如果您有一个类 MyClass
,以及一个在 MyClass 上运行的模块级函数(工厂、依赖注入(inject) stub 等),请将其设为 classmethod
。然后它将可用于子类。
关于python - 类方法的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238/