Classes Python

Classes Python

Introdução

As aulas são a pedra angular da programação orientada a objetos. São as plantas usadas para criar objetos. E, como o nome sugere, toda a programação orientada a objetos se concentra em torno do uso de objetos para criar programas.

Você não escreve objetos, não realmente. Eles são criados ou instanciados em um programa usando uma classe como base. Então, você cria objetos escrevendo aulas. Isso significa que a parte mais importante da compreensão da programação orientada a objetos é entender o que são as classes e como elas funcionam.

Exemplos do mundo real

Esta próxima parte se for abstrata. Você pode pensar em objetos na programação como objetos no mundo real. As aulas são então a maneira como você descreveria esses objetos e os planos para o que eles podem fazer.

Comece pensando em um carro. O carro é um termo bastante geral, mas existem alguns conceitos universais que você pode aplicar a praticamente qualquer carro. Todos eles têm quatro rodas, um motor, transmissão, portas, volante, etc. Além disso, todos eles têm uma marca e modelo. Cada uma dessas informações não poderia ser armazenada em uma variável para descrever um carro específico?

E o que eles podem fazer? Quase todos os carros podem fazer as mesmas coisas básicas, mas elas podem fazê -las de maneira diferente ou em velocidades diferentes. Você pode então descrever as ações que um carro pode executar usando funções. Na programação orientada a objetos, porém, as funções são chamadas de métodos.

Então, se você estava procurando usar objetos de "carro" em seu programa, criaria uma classe de "carro" para servir como um plano com todas as variáveis ​​que você deseja manter informações sobre seus objetos de "carro" e todos os os métodos para descrever o que você gostaria que seus carros pudessem fazer.

Uma classe Python

Agora que você tem uma idéia geral do que é uma aula, é melhor dar uma olhada em uma aula de Python real e estudar como ela é estruturada.

Classe Car (objeto): make = 'ford' modelo = 'pinto' ano = '1971' quilometra = 253812 motor = '4 cilindros' transmissão = 'manual' potência = 100 cor = 'laranja' def move_forward (self, velocidade) : print ("Avançando em % S" % Speed) def move_backward (self, speed): print ("movendo para trás em % s" % velocidade) 

Criar uma classe parece muito com a criação de uma função. Em vez de def você usa a palavra -chave, aula. Então, você dá um nome, assim como faria uma função. Ele também tem parênteses como uma função, mas eles não funcionam da maneira que você pensa. Para uma aula, os parênteses permitem estender uma classe existente. Não se preocupe com isso agora, apenas entenda que você tem que colocar objeto lá porque é a base de todas as outras classes.

A partir daí, você pode ver um monte de coisas familiares que você veria flutuando em torno de qualquer programa Python, variáveis ​​e funções. Há uma série de variáveis ​​com informações sobre o carro e alguns métodos (funções) descrevendo o que o carro pode fazer. Você pode ver que cada um dos métodos leva dois parâmetros, eu e velocidade. Você pode ver que "velocidade" é usada nos métodos para imprimir a rapidez com que o carro está indo, mas "eu" é diferente.

O que é eu?

Tudo bem, então "eu" é a maior peculiaridade da maneira que Python lida com a programação orientada a objetos. Na maioria das línguas, aulas e objetos estão apenas cientes de suas variáveis ​​em seus métodos. Python precisa ser instruído a se lembrar deles. Quando você passa "eu" para um método, você está essencialmente passando esse objeto ao seu método para lembrá -lo de todas as variáveis ​​e outros métodos nesse objeto. Você também precisa usá -lo ao usar variáveis ​​nos métodos. Por exemplo, se você quisesse emitir o modelo do carro junto com a velocidade, parece isso.

print ("seu %s está avançando em %s" %(self.modelo, velocidade)))

É estranho e estranho, mas funciona, e realmente não vale a pena se preocupar com. Lembre -se de incluir "eu" como o primeiro parâmetro de seus métodos e "eu.”Na frente de suas variáveis, e você ficará bem.

Usando uma classe

Você está pronto para começar a usar a aula de carro. Crie um novo arquivo python e cole a classe em. Abaixo, você pode criar um objeto usando -o. Criando ou instantando um objeto em Python se parece com a linha abaixo.

mycar = carro ()

É isso. Para criar um novo objeto, você só precisa fazer uma nova variável e configurá -lo igual à classe em que está baseando seu objeto.

Teste seu novo Ford Pinto 1971. Peça ao seu carro para imprimir sua marca e modelo.

print (" %s %s" %(mycar.faça mycar.modelo))

O uso de um . entre um objeto e seus componentes internos é chamado de notação de ponto. É muito comum em OOP. Funciona para métodos da mesma maneira que faz para variáveis. Tente colocar seu carro ao contrário a 5 mph.

mycar.move_backward ('5 mph')

E se você quiser mudar a cor do seu carro? Você definitivamente pode fazer isso também, e funciona como alterar o valor de qualquer outra variável. Tente imprimir a cor do seu carro primeiro. Em seguida, mude a cor e imprima -a novamente.

impressão ("a cor do meu carro é % s" % mycar.cor) mycar.PRIMA.cor) 

Seu carro está verde agora. Que tal um carro novo? Se você fizesse um novo objeto de carro, seria verde? Dê uma chance.

myNewcar = car () print ("A cor do meu carro novo é % s" % myNewcar.cor) 

Aquele é laranja. Novos objetos são copiados da classe, e a classe ainda diz que a cor é laranja. Os objetos existem na memória do computador enquanto um programa está em execução. Quando você altera os valores dentro de um objeto, eles são específicos para esse objeto como ele existe na memória. As mudanças não persistirão quando o programa parar e não mudará a classe da qual foi criado.

Pensamentos finais

Isso é o suficiente nas aulas por enquanto. Obviamente, há muito mais para cobrir, mas você deve levar algum tempo para se familiarizar com tudo o que está coberto até agora. Experimente os exercícios abaixo para manipular a aula de "carro" e se familiarizar com a forma como as aulas e objetos funcionam no Python.

Prática

  1. Crie um novo objeto de carro e mude sua cor para vermelho.
  2. Faça seu carro seguir em frente a 15 mph.
  3. Coloque uma transmissão automática em seu carro.
  4. Crie um carro novo. Use um operador booleano para comparar as cores dos carros.
  5. Mudar o mover para trás método para incluir o modelo do carro.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Coisas para instalar no Ubuntu 22.04
  • Mastering Bash Script Loops
  • Ubuntu 20.04 Guia
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Tutorial de depuração do GDB para iniciantes