记录一个 关于 python 普通方法,静态方法和类方法 的介绍。@classmethod @staticmethod

上班时间 只贴看到最厉害的答案 回头总结

http://stackoverflow.com/questions/12179271/python-classmethod-and-staticmethod-for-beginner

@classmethod

帮助我理解公司一些代码 最重要的一点。开始我百思不得其解,为什么申明的有些类在没有实力化的情况下,直接进行调用都可以直接运行。后来发现了有类方法这种针对类使用的方法。可以直接调用使用。而且还有一点非常重要 我直接摘抄链接里面的话。

  1. cls is an object that holds class itself, not an instance of the class. It's pretty cool because if we inherit our Date class, all children will have from_string defined also.

这意味着 如果超类上没有 有实现一个类方法,那么这个超类的子类可以直接继承并且在下面可以直接使用它,且也 不需要实例化。

@staticmethod

而静态类,可以不用使用参数传递进去。甚至一个都不需要。静态类方法按照我的理解来看的话,其实就是指那些不用不必传递参数,却又跟类相关的方法,比如判断一个 日期是不是日期啊, 对不对啊 是不是啊 这种。 有关 但是又不用传递参数的这种 也是不需要实例化。

原文地址:https://www.cnblogs.com/piperck/p/5000158.html