Conhecendo o Python

Introdução o Python

A linguagem de programação Python foi criada por Guido van Rossum em 1990 e está disponível com uma licença gratuita. Seu desenvolvimento é hoje feito pela Python Software Foundation, fundada em 2001. É uma linguagem interpretada que funciona na maioria das plataformas de computadores (principalmente Linux, Windows e macOS). Também é muito popular entre os professores que a consideram uma boa linguagem para aprender os conceitos básicos de programação.

Em 1999, este último submeteu um projeto à DARPA (Agência de Projetos de Pesquisa Avançada de Defesa), uma agência do Departamento de Defesa dos Estados Unidos responsável pelo desenvolvimento de novas tecnologias destinadas ao uso militar. Em sua proposta, chamada “Programação de computadores para todos” (documento original), ele define os seguintes objetivos para o Python:

  • A linguagem deve ser simples, intuitiva e tão poderosa quanto os principais concorrentes;
  • Deve ser de código aberto, para que qualquer pessoa possa contribuir com seu desenvolvimento;
  • O código deve ser tão compreensível quanto um texto em inglês;
  • Deve ser adaptado às tarefas diárias e permitir curtos tempos de desenvolvimento.
  • Desde o seu início, o sucesso da linguagem continuou a crescer, tornando-se uma das dez linguagens de programação mais populares. É uma linguagem de alto nível para uso geral. As últimas versões estáveis são 2.7.12 (25 de junho de 2016) e 3.5.2 (27 de junho de 2016). Essas duas versões, comumente conhecidas como Python 2 e Python 3, continuam existindo, principalmente por motivos de compatibilidade. Neste curso, usaremos a versão 3.

O Python é usado em muitos tipos diferentes de projetos. É utilizado principalmente como uma linguagem de script para aplicativos da web. Também está muito presente em aplicativos de cálculo científico e está integrado a muitos softwares de modelagem e de linguagem de script. Finalmente, também é utilizado no desenvolvimento de vídeo games ou na escrita de tarefas no campo da inteligência artificial.

 Linguagens compiladas e interpretadas

Quando chega a hora de escolher uma linguagem, duas categorias principais se chocam: linguagens compiladas e linguagens interpretadas.

As linguagens compiladas, como o próprio nome sugere, têm por requisito um compilador para transformar o código-fonte em linguagem de máquina. Isso torna o arquivo resultante inalterável e fornece certa velocidade de execução, pois a máquina vai simplesmente ler instruções e executar. Este é o caso da conhecida linguagem C. As linguagens interpretadas não passam por essa fase de compilação. Não estamos usando um compilador, mas um intérprete. Esse intérprete lerá todo o código e o converterá em tempo real para a máquina executar.

Embora, para alguns, isso possa parecer mais lento na execução do que uma linguagem compilada, não há necessariamente muita diferença entre estes dois tipos de linguagens em nossas máquinas recentes.

O código de linguagem interpretada permanece legível. Claro que também existe a possibilidade de criar um bytecode que é uma pré-interpretação do código da máquina (extensão .pyc).

Duas vantagens: uma melhoria no desempenho, que às vezes pode ser útil ou até essencial, e a possibilidade de não divulgar o código, o que alguns vão ver como um ponto positivo.

De fato, uma linguagem interpretada é muito prática na depuração, poderosa e ágil na execução.

PYTHON é uma dessas linguagens interpretadas, com todo o poder que isso implica.

A linguagem PYTHON em resumo

A linguagem PYTHON tem esse nome porque o criador dessa linguagem é fã dos comediantes ingleses do “Monty PYTHON”.

Criada em 1990 por Guido VAN ROSSUM, é uma linguagem open source, multi plataforma e multi função. Os programadores utilizam o Python para substituir a shell, executando scripts e modelagem 3D com uma interface gráfica.

Essa linguagem agora é gerenciada pela PYTHON Software Foundation. Usada principalmente no ramo 2.x. A versão 3.x é uma versão “limpa” no sentido de que muitas duplicações e redundâncias foram removidas a fim de limpar o código.

Na verdade, um código desenvolvido na 2.x pode ser parcialmente incompatível com a 3.x. Geralmente, é recomendado começar a desenvolver diretamente com a 3.x.

Na prática, ela ainda é pouco utilizada atualmente, mas seguir esse conselho é garantir certa viabilidade do código, o que não é algo a se desprezar.

Programação orientada a objeto

Definição

Há muitas definições de POO. Em poucas palavras, trata-se de usar cópias de blocos de aplicações para chegar a um objetivo.

Essas cópias de blocos de base, de referências, são chamadas de OBJETOS. Cada objeto terá características (chamadas PROPRIEDADES) e também possibilidades (chamadas MÉTODOS).

Essa maneira de trabalhar permitirá um maior rigor na codificação, mas também certa viabilidade no trabalho realizado.

Cada bloco é, portanto, infinitamente reutilizável em qualquer projeto, possui sua própria documentação e é de fácil manutenção.

Exemplo de objetos

O objeto é um bloco de referência para programação na POO.

Para entrar em mais detalhes, vamos tomar um exemplo concreto, muito usado: o carro.

O que é um carro? Qual é a definição de carro?

Segundo a Wikipédia, é um veículo terrestre com rodas e equipado com um motor a bordo. Em suma, um carro tem rodas, um motor e é usado para se mover.

Vamos manter essa definição simplista. Este carro pode ter diferentes formas, cores ou marcas. Da mesma maneira, ele pode executar diferentes ações.

Na POO, o carro será o nosso objeto, a sua forma ou cor são as suas propriedades, e as diferentes ações que pode realizar são seus métodos.

 As classes

Esse conjunto que, de certa forma, constitui a quintessência do carro em nosso exemplo, é o que é chamado de classe. Podemos assim comparar uma classe com um molde usado para criar objetos.

 As propriedades

Propriedades são o que define nosso objeto. Por exemplo, a sua cor, ou mesmo a sua marca para o nosso exemplo.

Essas propriedades podem ser somente leitura, somente escrita, ou ambas. Elas farão com que você interaja com seu objeto para configurá-lo da melhor maneira possível.

Os métodos

Os métodos são as possibilidades que nosso objeto oferece. No nosso exemplo, um carro pode ir para frente, para trás, acender os faróis, etc.

Cada uma dessas ações constitui um método diferente do objeto carro.

 Resumindo

Para resumir, temos uma classe carro a partir da qual podemos criar objetos:

meu_carro = Carro()

Nosso objeto tem propriedades que podem ser configuradas:

meu_carro.cor = verde

Ele também tem métodos para que nós digamos o que ele deve fazer:

meu_carro.farol(ON)

 O encapsulamento 

O princípio de encapsulamento é um dos princípios da programação orientada a objetos. Para simplificar, isso significa que, por razões de segurança ou de gestão, vamos tornar determinadas variáveis acessíveis ou não a partir de fora do código.

Embora isso possa às vezes parecer abstrato, na realidade, muitas vezes impede que um atributo seja alterado durante o cálculo e provoque o travamento do código.

Também pode ser uma forma de supervisionar com precisão o uso de um módulo.

A herança

O princípio da herança, outro princípio da programação orientada a objetos, é que uma classe pode herdar de outra classe.

Assim, para tomar o exemplo do carro, uma classe Twingo herdará uma classe de carro-mãe. Esta classe Twingo terá as mesmas características definidas na classe carro (motor, chassi, volante, etc.), mas terá características adicionais (opções específicas do carro).

Instalação

Do que precisamos?

Precisamos de uma versão do Python. Há várias opções. Observe que as versões antigas 2.x são incompatíveis com as mais recentes 3.x.

E, no mínimo, vamos precisar de um editor de textos.

Mas, para começar, a maneira mais fácil é usar um ambiente de desenvolvimento integrado.

No Linux

Pode ser:

  • IDLE
  • Gedit
  • DrPython (também disponível no Windows).

No Windows

Pode ser IDLE ou Pyscripter.

Após a instalação, basta abrir o Pyscripter e o Python estará pronto para uso.

Depois de instalar o Python, aconselhamos que você siga uma formação completa através de livros ou sites. Aqui está uma seleção:

Aprendendo Python

Python para quem está começando

Tutorial de Introdução ao Python