Capa do Ebook gratuito Curso de Python com Lambda e API Gateway para desenvolvimento backend

Curso de Python com Lambda e API Gateway para desenvolvimento backend

4.6

(5)

142 páginas

Programação orientada a objetos em Python: Atributos e métodos de classe em Python

Capítulo 25

Tempo estimado de leitura: 3 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

A programação orientada a objetos (OOP) é um dos principais paradigmas de programação que é amplamente utilizado em muitas linguagens de programação modernas, incluindo Python. Essa abordagem de programação oferece uma maneira eficaz de estruturar o código de maneira que seja fácil de entender, reutilizar e manter. A OOP em Python é centrada em torno de duas principais entidades: classes e objetos. Vamos nos concentrar em um aspecto específico da OOP em Python - atributos e métodos de classe.

Atributos de Classe

Em Python, uma classe é basicamente um modelo que define um conjunto de atributos e métodos que são comuns a todos os objetos de uma determinada classe. Os atributos de classe são variáveis que são definidas dentro da classe, mas fora de qualquer método. Eles representam as características ou propriedades que são comuns a todos os objetos de uma classe.

Por exemplo, considere uma classe 'Cachorro' que representa um cão genérico. Alguns atributos de classe possíveis para esta classe poderiam incluir nome, raça, idade e cor. Todos os cães têm essas características, portanto, faz sentido incluí-las como atributos de classe.

Os atributos de classe são definidos no corpo da classe e podem ser acessados diretamente através do nome da classe ou através de qualquer instância da classe. Por exemplo:

class Cachorro:
    especie = 'Canis familiaris'  # Este é um atributo de classe

rex = Cachorro()
print(rex.especie)  # Saída: 'Canis familiaris'
print(Cachorro.especie)  # Saída: 'Canis familiaris'

Métodos de Classe

Além dos atributos, as classes em Python também podem ter métodos. Os métodos são funções que são definidas dentro de uma classe e são usadas para realizar operações que geralmente requerem algum conhecimento sobre o estado interno do objeto.

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

Os métodos de classe são diferentes dos métodos normais em um aspecto importante: eles são passados a classe a qual eles pertencem, não a instância que os chamou. Isso significa que eles não podem acessar ou modificar os atributos específicos da instância, mas podem modificar os atributos de classe.

Os métodos de classe são definidos usando o decorador '@classmethod' e seu primeiro argumento é sempre uma referência à classe, geralmente chamada de 'cls'. Por exemplo:

class Cachorro:
    especie = 'Canis familiaris'

    @classmethod
    def descricao(cls):
        return 'A espécie de cachorro é ' + cls.especie

print(Cachorro.descricao())  # Saída: 'A espécie de cachorro é Canis familiaris'

Neste exemplo, o método 'descricao' é um método de classe que retorna uma string contendo a espécie do cachorro. Note que ele usa 'cls.especie' para acessar o atributo de classe 'especie'.

Em resumo, a programação orientada a objetos em Python fornece uma maneira estruturada de organizar o código que facilita a compreensão, reutilização e manutenção. Os atributos e métodos de classe são ferramentas poderosas que permitem definir características e comportamentos que são comuns a todos os objetos de uma classe.

Agora responda o exercício sobre o conteúdo:

Qual é a principal diferença entre os atributos de classe e os métodos de classe na programação orientada a objetos em Python?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Os atributos de classe são variáveis definidas dentro da classe, mas fora de métodos. Já os métodos de classe são funções dentro da classe que podem acessar e modificar estes atributos. Essa distinção permite manipular o estado comum a todos os objetos da classe.

Próximo capitúlo

Programação orientada a objetos em Python: Métodos estáticos em Python

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.