python - 类方法的目的是什么?

标签 python class-method

我正在自学 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/

相关文章:

python - Python中用 'print'打开的文件不需要关闭?

python - 值错误: time data '12/31/2017' does not match format '%d-%m-%Y'

python - 无法运行 python 脚本

python - 创建 Python 类方法

python 单例与类方法

objective-c - Objective C 类方法与 C 函数

python:常规方法和类方法之间的混合

python - 在Python中,外部函数在传递字典键时是否可以找到该字典中的其他键?

python - 如何更改不同屏幕中的屏幕转换

不能从 class.__dict__ 调用 python 类方法