类的五种方法总结

前言

Python中类的实例方法、类方法、自由方法、静态方法、保留方法进行简要总结。

一、实例方法

实例对象的方法,由各实例对象独享。
注意:实例方法采用<对象名>.<方法名>()形式使用,其等价于<类名>.<方法名>(对象名)。

二、类方法

类方法:类对象的方法,由所有实例对象共享。
注意:类方法只能操作类属性和其他类方法,不能操作实例属性和实例方法。采用<类名>.<方法名>()或者<对象名>.<方法名>()形式使用。

三、自由方法

自由方法:定义在类命名空间中的一个普通函数,由类所在命名空间管理,类对象独享。
注意:不需要cls或者self这样的参数,可以无参。只能操作类属性和类方法,不能操作实例属性和实例方法。采用<类名>.<自由方法名>()的形式使用。

四、静态方法

静态方法:定义在类中的普通函数,能够被类对象和实例对象所共享。
注意:可以无参。只能操作类属性和其他类方法,不能操作实例属性和实例方法。采用<类名>.<静态方法名>()或者<对象名>.<静态方法名>()形式使用。

五、保留方法

保留方法:由双下划线开始和结束,保留使用,如__name__()。

class Democlass:
    def __init__(self,name):
        self.name = name
        
    def getName1(self):        #实例方法
        return "类的实例方法"

    @classmethod               #类方法装饰器
    def getName2(cls):
        return "类的类方法"

    def getName3():
        return "类的自由方法"

    @staticmethod              #静态方法装饰器
    def getName4():
        return "类的静态方法"

    def __name__(self):
        return "类的保留方法"

dc1 = Democlass("老王")
print("类的实例方法:",dc1.getName1(),Democlass.getName1(dc1))
print("类的类方法:",dc1.getName2(),Democlass.getName4())
print("自由方法:",Democlass.getName3())
print("类的静态方法:",dc1.getName4(),Democlass.getName4())
print("类的保留方法:",dc1.__name__())

猜你喜欢

转载自blog.csdn.net/a_13572035650/article/details/128554682