Negociação quantitativa em atributos de classe básica de python, métodos de classe, métodos estáticos

class Tool (object): 
    count = 0   # Class attribute
 
    def __init __ (self, name = "Tool"): 
        self.name 
        = name Tool.count + = 1   # Cada vez que um novo objeto é criado, o valor do atributo de classe +1 

    # Método de classe 
    @classmethod 
    def show_tool_count (cls): 
        print (cls.count) # Método estático (não acesse as propriedades da classe ou objeto) 
    @staticmethod 
    def some_method (): 
        print ("algum método") 
tool1 = Tool ("AX") 
tool2 = Tool ("hammer") 
tool3 = Tool ("bucket") 
Tool.some_method () # Chame o método estático diretamente com o nome de classe 
print (Tool.count) # 3 
print (tool1.count) # 3 
print (tool2.count ) # 3 
print (tool3.count) # 3

    




 
Tool.count = 5
print (Tool.count) # 5 
print (tool1.count) # 5 

tool1.count = 9 
print (Tool.count) # 5, modifica diretamente o atributo de classe através do objeto, o valor do atributo de classe não muda 
print (tool1.count) # 9

Acho que você gosta

Origin blog.csdn.net/Michael_234198652/article/details/109155957
Recomendado
Clasificación