1
resposta

Atributos de classe e Atributos estáticos são a mesma coisa ?

Atributos de classe e Atributos estáticos são a mesma coisa ?

1 resposta

Olá Isabela, tudo bem com você?

Quando temos um atributo definido com um valor padrão dentro de uma classe e fora de um método, esse atributo será considerado um atributo de classe ou um atributo estático, os dois nomes fazem referência ao mesmo tipo de atributo.

Abaixo um exemplo de atributo de classe (atributo estático), um exemplo hipotético de classe.

class Cpf:
    numero_de_digitos = 11

    def __init__(self, cpf, nome):
        self.cpf = cpf
        self.nome = nome

    def tamanho(self):
        return print('O CPF deve ser informado com: {} dígitos'.format(Cpf.numero_de_digitos))

obj_cpf_1 = Cpf(23869894024, 'Ana')
obj_cpf_1.tamanho()
obj_cpf_2 = Cpf(42940675007, 'Paula')
obj_cpf_2.tamanho()


Resultado

O CPF deve ser informado com: 11 dígitos
O CPF deve ser informado com: 11 dígitos

Note que temos o atributo numero_de_digitos definido com o valor 11, ele será um atributo de classe, assim todos os objetos criados com essa classe receberão o mesmo valor, não sendo necessário informarmos ele no momento da criação do objeto.

Por ser um atributo de classe note que a sintaxe para uso do atributo é diferente, ficando da seguinte forma < nome_da_classe>.< nome_do_atributo>; Cpf.numero_de_digitos.

Em caso de dúvidas, estou à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!