![Brewster Kahle, do Internet Archive, sobre IA para bibliotecas digitais](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710680804_Brewster-Kahle-do-Internet-Archive-sobre-IA-para-bibliotecas-digitais-150x150.png)
Brewster Kahle, do Internet Archive, sobre IA para bibliotecas digitais
17 de março de 2024![Novos recursos do Kubernetes v1.30 – Como fazer virtualização](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710759175_Novos-recursos-do-Kubernetes-v130-–-Como-fazer-virtualizacao-150x150.png)
Novos recursos do Kubernetes v1.30 – Como fazer virtualização
18 de março de 2024Python é uma linguagem de programação orientada a objetos (OOP), o que significa que está centrada na ideia de “objetos” que podem conter dados (como atributos) e código (como métodos). Por ser uma linguagem OOP, Python permite a criação de classes.
O que são aulas? Estou feliz que você perguntou. Uma classe é um modelo usado para ajudar a organizar e estruturar o código para reutilização e modularidade. Uma boa maneira de pensar em uma aula é que ela é semelhante à planta de uma casa. Essa planta pode ser usada para criar uma casa, várias casas, um bairro de casas ou até mesmo uma cidade inteira de casas.
Por ter a planta, você já sabe como será construída a casa, o que torna o processo de construção muito mais eficiente. É claro que nem todas essas casas serão idênticas; podem ser pintados de uma cor diferente, ter acréscimos ou ser decorados de acordo com o gosto do proprietário. Um ótimo exemplo disso está no filme “Poltergeist”, que apresenta um bairro inteiro de casas que parecem ter sido construídas a partir da mesma planta.
As classes também são parcialmente responsáveis por definir relacionamentos e interações entre objetos Python. Depois que uma classe for criada, você poderá criar um objeto específico que inclua os atributos e comportamentos definidos por essa classe.
À medida que você ganha mais experiência com Python, você entenderá como as classes são cruciais na construção de aplicativos complexos.
Mas como você cria e usa uma classe? É nisso que vamos nos concentrar aqui. Embora as classes possam parecer complicadas, compreender seu uso básico é bastante simples.
Vamos descobrir.
A Estrutura de uma Classe
A estrutura de uma classe é bastante simples; no entanto, existem alguns conceitos-chave a serem entendidos. Um conceito é a ideia de si mesmo, que você viu em muitas aulas. O parâmetro self é o primeiro parâmetro em uma declaração de classe e é usado para acessar variáveis pertencentes a essa classe. Embora não seja necessário usar a palavra “self”, você deve sempre usar a mesma palavra para o primeiro parâmetro de qualquer função da classe.
Aqui estão três outros conceitos que você deve entender:
- Atributos são variáveis que contêm dados de classe.
- Métodos são funções que fornecem comportamento e atuam na classe de dados.
- O método especial __init__ inicializa um objeto com os atributos da classe. É frequentemente usado em aulas.
A estrutura básica de uma classe é assim:
class ClassName: # Body of class
Bastante básico, mas a estrutura de uma classe é simples. No entanto, a criação de uma classe não é tão simples. Vamos criar uma classe chamada NoClass que possui dois atributos: nome e idade. Também definiremos um método que inicializará a classe e definirá nome e idade, bem como um método chamado read_name que retornará os detalhes de dentro do nosso objeto.
A classe fica assim:
class NoClass: def __init__(self, name, age): self.name = name self.age = age def read_name(self): return f"Name: {self.name}, Age: {self.age}"
Incrível. Agora que criamos a classe, como a utilizamos? Primeiro, definiremos um objeto usando nossa classe e injetaremos dados nele:
object1 = NoClass("Jack Wallen", 55)
Neste ponto, o objeto1 agora inclui dois dados: “Jack Wallen” e 55, que podem ser acessados por meio dos detalhes de nome e idade do objeto.
Por fim, acessaremos os atributos e métodos da nossa classe com duas instruções print:
print(object1.name) print(object1.read_name())
Todo o bloco de código se parece com isto:
class NoClass: def __init__(self, name, age): self.name = name self.age = age def read_name(self): return f"Name: {self.name}, Age: {self.age}" object1 = NoClass("Jack Wallen", 55) print(object1.name) print(object1.read_name())
A saída acima seria:
Jack Wallen Name: Jack Wallen, Age: 55
Agora vamos criar uma classe um pouco mais complicada. Vamos criar uma classe chamada Veículo com três atributos: marca, modelo e ano. Então, definiremos dois métodos chamados start_vehicle e stop_vehicle. A seguir, criamos uma instância da classe car injetando dados em uma variável chamada my_vehicle da classe Vehicle. Por fim, imprimiremos as informações e convocaremos as duas turmas.
Primeiro, vamos definir a classe, assim:
class Vehicle: def __init__(self, make, model, year): self.make = make self.model = model self.year = year
A seguir, criaremos nosso método start_vehicle:
def start_vehicle(self): print(f"Your {self.year} {self.make} {self.model} has started.")
Agora criaremos nosso método stop_vehicle:
def stop_vehicle(self): print(f"Your {self.year} {self.make} {self.model} has stopped.")
A seguir, vamos criar uma instância da classe Vehicle:
my_vehicle = Vehicle("Mini", "Cooper", 2021)
Finalmente, acessaremos os atributos e métodos da instância com o comando print e a instância my_vehicle:
print(f"My car is a {my_vehicle.year} {my_vehicle.make} {my_vehicle.model}.") my_vehicle.start_vehicle() my_vehicle.stop_vehicle()
Todo o bloco de código se parece com isto:
class Vehicle: def __init__(self, make, model, year): self.make = make self.model = model self.year = year def start_vehicle(self): print(f"Your {self.year} {self.make} {self.model} has started.") def stop_vehicle(self): print(f"Your {self.year} {self.make} {self.model} has stopped.") my_vehicle = Vehicle("Mini", "Cooper", 2021) print(f"My car is a {my_vehicle.year} {my_vehicle.make} {my_vehicle.model}.") my_vehicle.start_vehicle() my_vehicle.stop_vehicle()
Se executarmos o código acima, a saída seria:
My car is a 2021 Mini Cooper. Your 2021 Mini Cooper has started. Your 2021 Mini Cooper has stopped.
O legal do que acabamos de criar é que podemos reutilizar a classe posteriormente no mesmo programa. Por exemplo, podemos definir uma nova instância de veículo assim:
vehicle_1 = Vehicle("Audi", "A5", 2022)
E essa é a essência das classes Python. Lembre-se: as classes podem ser usadas muitas vezes, então crie-as de forma que você esteja inclinado a reaproveitá-las, o que torna a programação mais eficiente.
A postagem O que são classes Python e como você as cria? apareceu primeiro em The New Stack.