Anda di halaman 1dari 7

Universidade Federal de Alagoas - UFAL

Instituto de Computação – IC

Bruno Carlos Monteiro


Julius Martins

Python

2018
Universidade Federal de Alagoas - UFAL
Instituto de Computação – IC

Bruno Carlos Monteiro


Julius Martins

Python

2018
1. Introdução

Python é uma linguagem altamente legível, o que o torna mais reutilizável e


sustentável. Tem amplo suporte para paradigmas avançados de engenharia de software,
como programação orientada a objetos (OO) e funcional.
Python tem um estilo de codificação limpo e elegante. Ele usa uma sintaxe em inglês
e é digitado dinamicamente. Então, você nunca declara uma variável. Uma atribuição
simples liga um nome a um objeto de qualquer tipo. O código Python é significativamente
menor ou equivalente ao código C++ ou Java. Ao contrário das linguagens compiladas, os
programas em Python não precisam ser compilados e vinculados, o que aumenta ainda
mais a velocidade do desenvolvedor.

2. Tipo Abstrato de Dados

Um tipo abstrato de dados (TAD ou ADT do inglês abstract data type) define uma
classe de objetos cujo comportamento lógico é dado por um conjunto de valores e um
conjunto de operações. Abstração fornece modularidade.
Classes são a representação em Python para “Tipo abstrato de dados”. É uma
noção muito útil em qualquer linguagem de programação.

2.1 Exemplo 1:​ Pilha


Uma pilha é uma lista LIFO com as seguintes operações: Push, Pop, Create (init),
Top, IsEmpty, Size. Essa lista é chamada de assinatura ou a interface do ADT.

Pilha ADT como uma classe:


2.2 ​Exemplo 2​: Fila
Uma Fila é uma lista FIFO com as operações: Enfileirar, Desenfileirar,
Tamanho, Fonte.

Lista ADT como uma classe:

3. Programação Orientada a Objeto

Python segue principalmente o design de programação orientada a objetos (POO).


O POO fornece uma maneira intuitiva de estruturação do código, e uma sólida
compreensão dos conceitos por trás dele. Com o POO, é fácil visualizar o problema
complexo em fluxos menores, definindo objetos e como eles se correlacionam.

3.2 Classes e Objetos em Python

Em Python, toda informação usada é representada na forma de um objeto. Assim,


por exemplo, o número 5 é um objeto da classe int, o número 3.14 é objeto da classe float e
assim por diante.
Uma classe é uma abstração de alguma “coisa”, que possui um estado e
comportamento. Um estado é definido por um conjunto de variáveis chamadas de atributos.
Esses estados podem ser alterados por meio de “ações” sobre o objeto, que definem seu
comportamento. Essas ações são funções chamadas de “métodos”.

Por exemplo, para representar um carro podemos definir:


3.3 Definição de classes e criação de objetos

Uma classe mínima em Python pode ser definida como:

Essa classe não possui atributos nem métodos, mas já nos permite criar objetos, ou seja,
instâncias​​ da classe Carro.

4. Encapsulamento

Em um programa Python orientado a objetos, você pode restringir o acesso a


métodos e variáveis. Isso pode impedir que os dados sejam modificados por acidente
(encapsulamento).

Como por exemplos:

4.1 Private methods

Criamos uma classe Car que possui dois métodos: drive () e updateSoftware ().
Quando um objeto de carro é criado, ele chama os métodos privados __updateSoftware ().
Esta função não pode ser chamada diretamente no objeto, somente dentro da classe.

O encapsulamento impede o acesso acidental, mas não intencionalmente. Os


atributos e métodos privados não estão realmente ocultos, eles são renomeados
adicionando "_Car" no início de seu nome.

O método pode realmente ser chamado usando redcar._Car__updateSoftware ().


4.2 Private variables

As variáveis podem ser privadas, o que pode ser útil em muitas ocasiões. Uma
variável privada só pode ser alterada dentro de um método de classe e não fora da classe.
Objetos podem armazenar dados cruciais para seu aplicativo e você não deseja que
esses dados sejam modificáveis de qualquer lugar no código.

Se você quiser alterar o valor de uma variável privada, um método setter é usado. É
um método que simplesmente define o valor de uma variável privada.

É criado porque alguns dos valores privados que você pode querer alterar após a
criação do objeto, enquanto outros não precisam ser alterados em tudo.
Para resumir, em Python existem:

public methods​ - Acessível em qualquer lugar.


private methods​ - Acessível somente na sua própria classe.
public variables​ - Acessível em qualquer lugar.
private variables - Acessível somente em sua própria classe ou por um método, se
definido.