Resumen de los cinco métodos de la clase.

prefacio

Un breve resumen de los métodos de instancia, métodos de clase, métodos libres, métodos estáticos y métodos reservados de clases en Python.

1. Método de ejemplo

Los métodos de los objetos de instancia son exclusivos de cada objeto de instancia.
Nota: El método de instancia se utiliza en forma de <nombre de objeto>.<nombre de método>(), que es equivalente a <nombre de clase>.<nombre de método>(nombre de objeto).

En segundo lugar, el método de clase.

Método de clase: un método de un objeto de clase, compartido por todos los objetos de instancia.
Nota: Los métodos de clase solo pueden operar atributos de clase y otros métodos de clase, no atributos de instancia y métodos de instancia. Utilice la forma de <nombre de clase>.<nombre de método>() o <nombre de objeto>.<nombre de método>().

3. Método gratuito

Método libre: una función ordinaria definida en el espacio de nombres de la clase, administrada por el espacio de nombres de la clase, exclusiva del objeto de la clase.
Nota: No se necesitan parámetros como cls o self, y no se requieren parámetros. Solo se pueden manipular los atributos de clase y los métodos de clase, pero los atributos de instancia y los métodos de instancia no se pueden manipular. Utilice la forma de <nombre de clase>.<nombre de método libre>().

4. Método estático

Método estático: una función ordinaria definida en una clase que puede ser compartida por objetos de clase y objetos de instancia.
Nota: No se requieren parámetros. Solo se pueden manipular los atributos de clase y otros métodos de clase, y los atributos de instancia y los métodos de instancia no se pueden manipular. Se utiliza en forma de <nombre de clase>.<nombre de método estático>() o <nombre de objeto>.<nombre de método estático>().

5. Método de retención

Métodos reservados: comienzan y terminan con guiones bajos dobles, reservados para su uso, como __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__())

Supongo que te gusta

Origin blog.csdn.net/a_13572035650/article/details/128554682
Recomendado
Clasificación