Resumo dos cinco métodos da classe

prefácio

Um breve resumo dos métodos de instância, métodos de classe, métodos livres, métodos estáticos e métodos reservados de classes em Python.

1. Método de exemplo

Os métodos dos objetos instância são exclusivos de cada objeto instância.
Nota: O método de instância é usado na forma de <nome do objeto>.<nome do método>(), que é equivalente a <nome da classe>.<nome do método>(nome do objeto).

Em segundo lugar, o método de classe

Método de classe: Um método de um objeto de classe, compartilhado por todos os objetos de instância.
Nota: Os métodos de classe só podem operar atributos de classe e outros métodos de classe, não atributos de instância e métodos de instância. Use a forma de <nome da classe>.<nome do método>() ou <nome do objeto>.<nome do método>().

3. Método gratuito

Método livre: uma função comum definida no namespace da classe, gerenciada pelo namespace da classe, exclusiva do objeto da classe.
Nota: Não há necessidade de parâmetros como cls ou self e nenhum parâmetro é necessário. Somente atributos de classe e métodos de classe podem ser manipulados, mas atributos de instância e métodos de instância não podem ser manipulados. Use a forma de <nome da classe>.<nome do método livre>().

4. Método estático

Método estático: Uma função comum definida em uma classe que pode ser compartilhada por objetos de classe e objetos de instância.
Nota: Não são necessários parâmetros. Somente atributos de classe e outros métodos de classe podem ser manipulados, e atributos de instância e métodos de instância não podem ser manipulados. Use a forma de <nome da classe>.<nome do método estático>() ou <nome do objeto>.<nome do método estático>().

5. Método de retenção

Métodos reservados: começam e terminam com sublinhados duplos, reservados para 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__())

Acho que você gosta

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