美文网首页
类方法、静态方法

类方法、静态方法

作者: 午字横 | 来源:发表于2023-04-30 11:43 被阅读0次
1:类方法: @classmethod

Date_test类里面创建一个成员函数, 前面用了@classmethod装饰。
它的作用就是有点像静态类,比静态类不一样的就是它可以传进来一个当前类作为第一个参数。
这样子等于先调用get_date()对字符串进行处理,然后才使用Data_test的构造函数初始化。
这样的好处就是你以后重构类的时候不必要修改构造函数,只需要额外添加你要处理的函数,
然后使用装饰符 @classmethod 就可以了


class Data(object):
    def __init__(self,time):
        self.time=time

    def output_Data(self):
        print(self.time)

    @classmethod
    def get_Data(cls,time):
        return cls(time)

d=Data("2023")
d.output_Data()

dd=Data.get_Data("2023-04")
dd.output_Data()
1:静态方法: @staticmethod

@staticmethod 用于修饰类中的方法,使其可以在不创建类实例的情况下调用方法,
这样做的好处是执行效率比较高

class Data(object):
    def __init__(self,time):
        self.time=time

    def output_Data(self):
        print(self.time)

    @classmethod
    def get_Data(cls,time):
        return cls(time)
    @staticmethod
    def show(x,y):
        print(x,y)

Data.show(1,2)
2. 实例方法、静态方法和类方法

方法包括:实例方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。

  • 实例方法:由对象调用;至少一个self参数;执行实例方法时,自动将调用该方法的对象赋值给self;
  • 类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类赋值给cls;
  • 静态方法:由类调用;无默认参数;

2023-04-27

相关文章

  • 再论静态方法和类方法

    实例对象可以调用实例方法、类方法、静态方法 类对象只能调用类方法、静态方法

  • Java基础知识的小总结(2)

    静态方法 静态方法其实就是类方法,与类有关的,普通的方法在类被实例化后,被对象来调用,静态方法无法调用非静态方法,...

  • 2018-10-18类和对象总结

    1.类方法和静态方法 类中的方法: 对象方法, 类方法, 静态方法 对象方法:a、自带参数selfb、直接声明在类...

  • Swift 中的方法声明

    实例方法 类方法 静态方法 实例方法由实例对象进行调用;类方法和静态方法由类对象进行调用

  • python类的静态方法和类方法区别

    python类的静态方法和类方法区别 先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法。 本...

  • 类和对象(二)

    一、类方法和静态方法 类中的方法分为:对象方法,类方法和静态方法 1.类方法a.在声明前添加@classmetho...

  • 调用静态方法与非静态方法

    以前一直认为 静态方法的调用:类名::静态方法 非静态方法的调用:类对象->非静态方法 在网上找到的归纳 类::静...

  • 为什么从静态的方法里调用非静态的方法或变量是非法的?

    结论: 非静态的方法可以调用静态的方法,但是静态的方法不可以调用非静态的方法。 类的静态成员(变量和方法)属于类本...

  • php中静态类和非静态类

    静态类:类中含有static定义的静态属性或方法的类 静态类访问方法: 1、静态方法不需要实例化对象,可以通过类名...

  • 4.类-静态方法及抽象类

    类的静态属性与静态方法 类可以直接使用静态属性及调用静态方法静态方法中无法调用类上面的属性(public,prot...

网友评论

      本文标题:类方法、静态方法

      本文链接:https://www.haomeiwen.com/subject/xubvjdtx.html