python staticmethod与classmethod(还没开始写)

 写在前面

写博客的时候,我发现拖延症很严重,本来昨天要开始写的,结果东看看,西翻翻,啥也没落实下来。时间过去了,口袋里的收获却寥寥无几。讨厌这样的自己。我要戒掉这个不好的毛病。

拖延症的底层原因之一是:不知如何下手

拖延症的底层原因之二是:每天都重复,疲了,累了

这里仅代表我自己

一..先说staticmethod

1..什么是staticmethod

2..staticmethod有什么用

3..举个例子来理解staticmethod

二..再说classmethod

1..什么是classmethod

classmethod是用来指定一个类的方法为类方法

长的像下面这个样子

class cc:
    @classmethod
    def f(cls, arg1, arg2, ...): ...

2..为什么会出现classmethod

 类最基本的作用是实例化出一个对象,但是有的时候再实例化之前,就需要先和类做一定的交互,这种交互可能会影响实际实例化的过程,所以必须放在调用构造函数之前。大概是因为这个原因出现了classmethod

在Java等语言中,这类功能通常通过工厂类(Factory)实现,先初始化一个工厂类的实例,然后由这个工厂类的实例构造实际需要的实例。在Python中,普通类完全可以替代Factory,而对于支持配置的Factory,就对应到相应的classmethod。



作者:灵剑
链接:https://www.zhihu.com/question/20021164/answer/537385841
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3..classmethod有什么用

4..举个例子来理解classmethod

参考

http://30daydo.com/article/89

 https://www.zhihu.com/question/20021164

 https://blog.csdn.net/mr_hui_/article/details/82939979

https://www.cnblogs.com/agnewee/p/5653936.html

猜你喜欢

转载自www.cnblogs.com/baxianhua/p/10845620.html