• Python实例化方法、类方法、静态方法


    实例化方法便是我们最常见的第一个参数为self

    类方法是在方法前加一个@classmethod装饰器

    静态方法是在方法前加一个@staticmethod装饰器(PS:实例对象的权限最大。)

    实例化方法

    实例化方法就是类的示例能够使用的方法,比如下面这种print_name方法,它传入self这个类的实例:

    那我们调用这个实例化方法的时候就必须实例化我们的对象来调用了:

     可能会有疑问,为什么非要实例化呢,我传入的是self啊,跟我的类的实例有关系吗?其实我们传入的self就是类的示例,因此self并不是关键字,我们可以把self换成任意都能得到一样的结果:

     结果依然是xiaoming!

     因此,这就是实例化方法为什么要写self,并且一定要实例化对象才能调用!因为传入的self其实就是我们的实例化对象!

    类方法:

     与我们的实例化方法相比,类方法在方法的前面加了个classmethod关键字,并且传入的不是self

    而是cls。

    类方法使用的场景:

    原则上,类方法是将类本身作为对象进行操作的方法。假设有个方法,且这个方法在逻辑上采用类本身作为对象来调用更合理,那么这个方法就可以定义为类方法。另外,如果需要继承,也可以定义为类方法。具体使用场景可见这篇博客:Python 实例方法、类方法、静态方法的区别与作用 - 失恋的蔷薇 - 博客园 (cnblogs.com)

    而在调用上,类方法不需要实例化对象才能调用:

     可以看到在第6行是Person.而不是Person().所以类方法不需要实例化!

    静态方法:

    静态方法,其实就是我们学过的函数,和函数唯一的区别是,静态方法定义在类这个空间(类命名空间)中,而函数则定义在程序所在的空间(全局命名空间)中。
    静态方法没有类似 self、cls 这样的特殊参数,因此 Python 解释器不会对它包含的参数做任何类或对象的绑定。也正因为如此,类的静态方法中无法调用任何类属性和类方法。可以理解为,静态方法是个独立的、单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。

    比如:

    可以看到,静态方法不需要传入任何参数,往往设置为一些与类无关的函数!

  • 相关阅读:
    美容院如何体现差异化服务?
    Java开发中遇到最难的问题,轻松获得一线大厂面试offer
    周赛补题(AcWing、力扣)
    Linux下的Swap内存
    Spring Boot文档目录
    HCIE-灾备技术和安全服务
    Python集合-set使用
    电源芯片的选择简略
    使用了lombok后如何生成正确源码包
    nodejs+vue+elementui运动场馆预约系统设计与实现express java python
  • 原文地址:https://blog.csdn.net/qq_55621259/article/details/126318134