Vous êtes sur la page 1sur 19

LINGUAGEM DE PROGRAMAÇÃO

PYTHON
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS – UFGD
FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA – FACET
SISTEMAS DE INFORMAÇÃO
PARADIGMAS DE LINGUAGENS DE PROGRAMAÇÃO
ACADÊMICOS:
Diogo Fernando Trevisan
Jéssica Andressa de Souza
João Felipe Faria Valente
INTRODUÇÃO

Python é uma linguagem dinâmica orientada a objetos que pode ser usada para
diferentes tipos de desenvolvimento de software. Ela oferece suporte forte para integração
com outras linguagens e ferramentas, vem com várias bibliotecas padrões e pode ser
aprendida em poucos dias. Muitos programadores Python obtêm ganhos na produtividade e
sentem que a linguagem encoraja o desenvolvimento de maior qualidade e código com
manutenção facilitada.

PARADIGMA

Python é uma linguagem Orientada a Objetos (PYTHON, 2008), imperativa (ações


mudam os estados das variáveis do programa), funcional (aceita expressões matemáticas)
(WIKIPEDIA, 2008).

PRINCIPAIS ÁREAS DE APLICAÇÃO

WEB

Python oferece uma gama de escolhas para o desenvolvimento Web, tais como:
Escrever Scripts CGI.
FrameWorks (estrutura de suporte em que outro projeto pode ser organizado e
desenvolvido) como Django e TurboGears.
Suporte à HTML e XML.
Processamento de E-mail.
Suporte a vários outros protocolos de internet (PYTHON, 2008).

Acesso A Bancos De Dados

Compatível com MySQL, Oracle, MS SQL Server, PostgreSQL, SybODBC e outros


bancos de dados gratuitos (PYTHON, 2008).
GUIs Para Desktop

Python possui suporte às principais bibliotecas de desenvolvimento para Interfaces


gráficas, como:
wxWidgets
GTK+
Qt
Microsoft Foundation Classes através das “win32 extensions” (extensões Python para
Windows) (PYTHON, 2008).

Científico e Cálculos

Python é utilizada em cálculos científicos, como em Bioinformática (Uso de


computadores em pesquisas biológicas), e em cálculos físicos (PYTHON, 2008).

Educação

Python é uma ótima linguagem para ensinar programação (PYTHON, 2008).

Jogos e Gráficos 3D

Python é usada em jogos. PyGame e PyKyra são dois exemplos de frameworks para
python.
É possível construir aplicações baseadas em OpenGL, e com outras bibliotecas
consegue-se construir aplicações em DirectX (PYTHON, 2008).

HISTÓRICO

Python foi criada por volta de 1990 por Guido van Rossum no “Stichting
Mathematisch Centrum”, nos Países Baixos (Netherlands) com o intuito de ser um sucessor
para a linguagem ABC. Guido continua como o principal autor do Python, que inclui muitos
outros autores.
Em 1995, Guido continuou seu trabalho sobre Python na “Corporation for National
Research Initiatives” em Reston, Virginia, onde liberou várias versões do software.
Em maio de 2000, Guido e o time de desenvolvimento do Python se moveram para o
BeOpen.com para formar o “BeOpen PythonLabs team”. Em outubro do mesmo ano, o
“PythonLabs team” se moveu para a “Zope Corporation”. Em 2001, a “Python Software
Foundation” foi formada, uma organização sem fins lucrativos criada especificamente para
criar um repositório de materiais relacionados ao Python. A “Zope Corporation” é um
membro da PSF.
Todas as versões do Python são Open Source (www.opensource.org). Historicamente,
a maioria, mas não todas verões do Python são compatíveis com a licença GPL (GNU Public
Licence). A Tabela 1 resume as várias versões (PYTHON, 2008; WIKIPEDIA, 2008).
Tabela 1: Versões do interpretador Python.
Versão Derivado de Ano Proprietário Compatível com
GPL?

0.9.0 thru 1.2 n/a 1991-1995 CWI Sim

1.3 thru 1.5.2 1.2 1995-1999 CNRI Sim

1.6 1.5.2 2000 CNRI Não

2.0 1.6 2000 BeOpen.com Não

1.6.1 1.6 2001 CNRI Não

2.1 2.0 + 1.6.1 2001 PSF Não

2.0.1 2.0 + 1.6.1 2001 PSF Sim

2.1.1 2.1 + 2.0.1 2001 PSF Sim

2.2 2.1.1 2001 PSF Sim

2.1.2 2.1.1 2002 PSF Sim

2.1.3 2.1.2 2002 PSF Sim

2.2.1 2.2 2002 PSF Sim

2.2.2 2.2.1 2002 PSF Sim

2.3 2.2.2 2002 - 2003 PSF Sim

2.3.1 2.3 2002 - 2003 PSF Sim

2.3.2 2.3.1 2002 - 2003 PSF Sim


Fonte: PYTHON (2008).

SINTAXE

Um programa Python não tem uma estrutura definida a se seguir. Não existem
cabeçalhos, caracteres ou palavras reservadas para início de programa, ou palavras reservadas
para início de bloco. Também não existem caracteres para sinalizar o final de uma instrução
(como o ponto-e-vírgula na maioria das linguagens). Cada Instrução ocupa uma linha, e o
interpretador avalia uma a uma.
Os blocos de programa são definidos por tabulações, o que torna a endentação
obrigatória.
Os operadores são muito parecidos com a maioria das linguagens de programação. A
Tabela 2 mostra os principais operadores da linguagem Python.

Tabela 2: Principais operadores da linguagem Python.


Operador Função Exemplo
> Maior que 5>3
< Menor que 3<5
>= Maior igual a 3 >= 3
<= Menor igual a 5<=5
== Igual a 3 == 3
= Atribuição A= 3
or ou A == 1 or A ==2
and e A>1 and A<5
<> Diferente A <> B
!= Diferente A!=B
not Negação not (A==B)
+ Soma 2+3
is Compara objetos A is B
is not Nega a comparação de A is not B
objetos
- Subtração 5–3
* Multiplicação 2*3
/ Divisão 6/3
% Resto da divisão 10 % 3
Fonte: WIKIPEDIA (2008), BRUECK & TANNER (2008).

Para impressão dos dados em tela, a função usada é print(). Como parâmetro,
passamos uma variável, uma constante (real ou inteira), ou mesmo uma string (BRUECK &
TANNER, 2008). Já para a leitura de dados, devemos usar a seguinte forma:
variavel = input(“Entre o valor da variável”)#o texto como parâmetro será mostrado
# na tela para o usuário
Exemplo:
X = input(“Valor de X = “)
print(X)
A saída será o valor informado pelo usuário. Esta função não permite a entrada de
strings.
Para leitura de dados, também podemos utilizar a função raw_input(), que utiliza a
entrada de dados via teclado. A sua sintaxe é variavel = raw_input().
Exemplo:
print(“Valor de A: “)
A = raw_input()
print(A)
A saída será o valor fornecido pelo usuário. Esta função permite a entrada de strings
ao programa.
A linguagem Python utiliza módulos (em outras linguagens chamadas de
bibliotecas) para adicionar funções aos programas. Para adicioná-los ao programa, usamos a
cláusula import nomeDoModulo. Um exemplo é o módulo GTK (Desenvolvimento de
interfaces gráficas), para adicioná-lo ao programa usamos “import gtk“.
Os comentários ficam sempre após o caractere especial (“#”). Porém, caso queira
usar caracteres especiais nos comentários, como acentos, deve-se definir a codificação
utilizada no código. Esta especificação tem que por obrigação ocupar a primeira linha do
código (WIKIBOOKS, 2008). A codificação mais completa é a UTF-8. Exemplo:
#coding=UTF-8
#Comentário em um programa Python.
#Sem a primeira linha ocorrerá um erro de sintaxe.
Por ser uma linguagem orientada a objetos, a definição de classes não pode passar
despercebida. O exemplo a seguir mostra como as classes são descritas em Python.
class circle:
# __init__() é o constructor da classe.
def __init__(self,raio):
self.raio=raio #Self é o primeiro parâmetro a ser passado em um método,
#referenciando ao objeto que o invoca.
Nas classes não é necessário declarar os atributos. Eles passam a existir quando são passados
como parâmetros nos construtores. Todos os atributos são públicos (BRUECK & TANNER,
2008).
Segue abaixo um exemplo de como instanciar um objeto da classe circle.
a = circle(5)
print(a.raio)#A saída será 5, pois é o valor passado como parâmetro para o construtor.
Para que uma classe herde de outra, devemos passar a classe “pai” como parâmetro
a classe filha. Veja o exemplo para assimilar melhor.

class pai:
nome=”Pai”
idade = 30
def matodoPai(self):
print(“método do pai”)
class filha(pai):#Passando a classe “pai” como parâmetro, diz que “filha” herda dela.
def chamaMetodoPai(self):
pai.metodoPai(self)
def metodoFilha(self):
print(“Metodo da filha”)

Quando se trata de Python orientado a objetos, as funções passam a se chamar


métodos, e, estes sempre devem ter como primeiro parâmetro a palavra self que faz referência
ao objeto que está chamando o método (BRUECK & TANNER, 2008).

IMPLEMENTAÇÃO

Todos interpretadores Python são Open Source (PYTHON, 2008), escritos na


linguagem C ou C++. Os códigos são compilados em um bytecode intermediário, o qual é
executado pela maquina virtual. O interpretador Python pode ser modificado, podendo
funcionar em sistemas embarcados (WIKIPEDIA, 2008). Os sistemas operacionais que não
possuem suporta para o interpretador Python são:
- SunOS 4
- DYNIX
- dgux
- Minix
- NeXT
- Irix 4 and --with-sgi-dl
- Linux 1
- MacOS 9

VARIÁVEIS

Os nomes das variáveis, não possuem tamanho máximo de caracteres, e são case-
sensitive (Python Reference Manual). Elas devem começar com A-Z, a-z ou “_”.
Não existe a declaração da variável, ela passa a existir quando um valor lhe é atribuído
e deixa de existir quando não são mais necessárias (BRUECK & TANNER, 2008)
Por exemplo:
a = 10
Agora, mandamos imprimir o valor de a, e a saída será: “10”.
Se fizermos:
a = 10
Imprime(a)
a= “String”
Imprime(a)
a saída será:
10
String

ESCOPO

Em Python existem variáveis globais e locais. Se uma variável local tem o mesmo
nome de uma variável global a variável local sobrescreve a global.
Python assume que qualquer variável que recebe um valor em uma função (como não
existe declaração) é local. Porém, para atribuir valores a uma variável global, deve-se usar a
palavra-chave global. A declaração global variavel diz ao interpretador que variavel é uma
variável global, e o interpretador Python para de procurar por declarações locais para este
nome (BRUECK & TANNER, 2008).
Exemplo:
NumeroDeMacacos = 11
def AddMacaco(): # Definição de uma Função
global NumeroDeMacacos
NumeroDeMacacos = NumeroDeMacacos + 1

VINCULAÇÃO

Em Python a vinculação das variáveis é Dinâmica. Esta ocorre em tempo de execução,


já que as variáveis não são declaradas e instanciadas a um tipo em tempo de escrita do código,
mas sim, a cada instrução podendo receber certo tipo de dado.
Exemplo:
a = 10
print(a)
a = 10.5
print(a)
a = “String”
print(a)
Neste exemplo, a variável “a” assume três tipos diferentes, em três instruções distintas
(WIKIBOOKS, 2008).

TIPOS DE DADOS

Tipos Numéricos

Em Python, os seguintes tipos numéricos são suportados:


Inteiros: Estão entre -2147483648 a 2147483647, Isto é, possuem sinal e 32 bits.
Inteiros Longos: São similares aos inteiros, a diferença é que o número máximo e
mínimo vária dependendo da quantidade de memória que o computador possui.
Ponto Flutuantes: Em Python, os pontos Flutuantes possuem 64 bits, com dupla
precisão, e são compatíveis com o padrão IEEE 754.
Números Imaginários: Em Python, o programador pode criar um número imaginário
adicionando um “j” em um numero na base decimal (inteiro ou ponto flutuante) (BRUECK &
TANNER, 2008). Exemplos:
3j
2.5e-3j

Strings

uma sequencia de caracteres alfanuméricos, entre um par de aspas duplas (“ “) ou um


par de apóstrofos (' ') (BRUECK & TANNER, 2008). Exemplos:
a = “Uma String”
b = 'outra String'

Booleanos

Em Python é possivel se criar variáveis lógicas (booleanas), atribuindo-lhes o valor


True ou False (WIKIBOOKS, 2008).
Exemplos:
a = True
a = False
Nestes casos, “a” passa a ser uma variável do tipo bool.

List

Em Python, os arranjos são definidos como listas. Não é necessário que os elementos
das listas sejam do mesmo tipo, como em um vetor (WIKIBOOKS, 2008).
Exemplo:
a = [ 10, 10.5, “String”, True]
print(a[0])
print(a[1])
print(a[2])
print(a[3])
A saída será a seguinte:
10
10.5
String
True

EXPRESSÕES DE ATRIBUIÇÃO

A Atribuição de valores e tipos é em tempo de execução.


A atribuição ocorre da maneira variavel = valor, onde, variavel é a variável que está sendo
criada, e valor é uma constante, ou outra variável, ou mesmo um conjunto de expressões
(BRUECK & TANNER, 2008).
Exemplos:
a = 10
A varável a recebe o inteiro 10.
a=b
A variável a recebe a váriavel b.
a= b + 5
A variável a recebe a variável b somada com o inteiro 5.

ESTRUTURAS DE CONTROLE (NÍVEL DE INSTRUÇÃO)

Estrutura Se - Senão
Em Python, a estrutura Se - Senão tem a seguinte forma (BRUECK & TANNER,
2008):
if(expressão):
Comandos
else:
Comandos
Exemplo:
if(a > b):
print(“a é maior que b”)
else:
print(“A não é maior que b”)

Estrutura for

A estrutura For tem a forma:


for( variavel) in (sequencia):
comandos
Exemplo:
for nome in [“Diogo”, “Jessica”, “Joao”]:
print(nome)
A saída será:
Diogo
Jessica
Joao
E se fossemos imprimir uma lista de 0 a 100 inteiros? Colocar uma lista contendo
[0,1,..,100]? Não! Podemos usar a função range(int), que define uma lista com um certo
intervalo (BRUECK & TANNER, 2008).
Exemplo:
for numero in range(100):
print(numero)
A saída será os numeros de 0 até 99, totalizando 100 valores.

Estrutura while

A estrutura do comando while é a seguinte (BRUECK & TANNER, 2008):


while (condição):
Comandos
Exemplo:
i=0
while( i <5)
print(i)
i=i+1
A saída serão os números de 0 a 4.

ESTRUTURAS DE CONTROLE (NÍVEL DE UNIDADE)

A definição de funções tem a seguinte forma (BRUECK & TANNER, 2008):


def nomeFuncao(parametro1, parametro2, parametroN):
Comando1
Comando2
ComandoN
Exemplo:
def CalculaQuadrado(numero):
return numero*numero
print( CalculaQuadrado(5) )
A saída será:
25

ESPECIFICIDADES

Concorrência

Com Python é possível programar com Múltiplos threads. É possível criar, rastrear,
monitorar e matar threads. Python oferece todos os recursos necessários para se criar uma
aplicação dividida em threads e também para poder manipulá-los (BRUECK & TANNER,
2008).

Tratamento De Exceções

Python oferece tratamento de exceções.


A definição do bloco para tratamento de exceções é:
try:
Comandos
except tipoExcecao
Comandos para tratar a exceção...
Exemplo:
try:
a = “A” + 10
except:
print(“OPS! Operação impossível”)

IDEs

Os códigos-fonte da linguagem Python devem ser nomeados com a extensão “.py”. Para que
estes códigos sejam executados, é necessário instalar o interpretador Python. Abaixo serão
descritas algumas das IDEs disponíveis para a linguagem.

DrPython

IDE Escrita na própria linguagem Python, o que a torna multiplataforma, podendo


rodar em qualquer maquina que contenha um interpretador Python instalado. É gratuita e
Open Source. Possui recursos como Verificar sintaxe, chamar o interpretador sem a
necessidade de digitar comandos e realce de palavras reservadas. No geral, é uma IDE bem
simples, somente com os recursos básicos.

Eric IDE
IDE escrita em Python, sendo assim multiplataforma também. Possui o recurso “auto
completar”, layout de janelas configurável, verificador de sintaxe, realce de palavras
reservadas, etc.

VANTAGENS E DESVANTAGENS

Vantagens
Os programas escritos na linguagem Python são multiplataformas. É uma linguagem
que está crescendo, por ser simples, prática e de fácil aprendizado. Com esta linguagem é
possível escrever vários tipos de programas, não precisando ficar apenas em aplicações
Desktop. O site (www.python.org) oferece uma grande documentação de forma gratuita,
ajudando as pessoas que gostariam de aprendê-la (PYTHON, 2008).

Desvantagens

Instruções de baixo nível são mais difíceis de serem executadas, rotinas relacionadas a
controladores de dispositivos que exigem respostas altas também são pouco adequados para
se fazer em Python. Aplicações que contam com o controle de muitos threads, ou controle de
prioridade entre eles, o Python deixará o programador na mão (PYTHON BRASIL, 2008).

CURIOSIDADE

Apesar de ser uma linguagem interpretada, isto é, o interpretador executa a partir do


código-fonte, é possível se ocultar o código. Quando a maquina virtual Python (interpretador)
executa um programa (script) ele primeiro converte este código para bytecodes. Dentro do
interpretador vem um pequeno programa que converte o código para bytecodes, e, é possível
usar este programa para transformar seu código, distribuindo somente os bytecodes que não
são legíveis para humanos (PYTHON BRASIL, 2008).

EXEMPLO DE CÓDIGO ILUSTRANDO OS PRINCIPAIS CONCEITOS DA LP

Abaixo, segue um exemplo de um código de script em Python.


#coding=UTF-8
#É definida a codificação a ser utilizada, para que possamos usar acentos.
import math
#Módulo com funções matemáticas
def quadradoNumero(numero):
return numero*numero
#Função que retorna o quadrado de um número
def raizQuadrada(numero):
return math.sqrt(numero)#chama a funcao sqrt do módulo math
#Função que utiliza o módulo math e retorna a raiz quadrada de um número
continua = True
while(continua == True):
print("Opções: ")
print("1 - Quadrado de um número: ")
print("2 - Raiz Quadrada de um número: ")
try:#Bloco de exceções...
escolha = input("Opção: ")
if(escolha == 1):
try:#Bloco de exceções...
numero = input("Informe o número: ")#Entre um valor
#numérico, por favor!
print('Número ao quadrado: ',quadradoNumero(numero))
except:#Bloco de tratamento de Exceções
print("Você não entrou um valor Numérico!")
else:
if(escolha == 2):
try:#Tratamento da exceção.
numero = input("Informe o número: ")#Entre um valor
#inteiro, por favor!
print("Raiz quadrada: ",raizQuadrada(numero))
except:#Tratamento da Exceção.
print("Você não entrou um valor numérico!")
else:
print("Entre com uma escolha válida!")
except:#Tratamento da exceção
print("Entre com um valor numérico!")
continua = True
print("Deseja continuar? [S]im ou [N]ao")
resposta = raw_input()#Utilizado para entrada de Strings
if( (resposta != "s") and (resposta!="S") ):
continua=False
print("Fora do laço 'while'")
print("Fim do Script")

Quadro 1: Exemplo de um script escrito na linguagem Python.


IMPLEMENTAÇÕES DISTRIBUÍDAS GRATUITAMENTE?

Todas distribuições do interpretador Python são gratuitas, de código aberto, sob uma
licença própria compatível com a GPL. Todos os programas ou mesmo o interpretador podem
ser distribuídos gratuitamente ou comercialmente, contanto que seja mantido o aviso de
Copyright da Python Software Foundation. O endereço para download do interpretador é
http://python.org/download/ (PYTHON, 2008).

REFERÊNCIAS

BRUECK, Dave; TANNER, Stephen. Python 2.1 Bible. Hungry Minds, 2001.

DRPYTHON – Dr. Python. Disponível: http://drpython.sourceforge.net/, acessado em


9/2008.

ERIC IDE – The Eric Python IDE. Disponível: http://www.die-


offenbachs.de/eric/index.html, acessado em 09/2008.

PYTHON – Python Programming Language -- Official Website. Disponível:


http://www.python.org/, acessado em 09/2008.

PYTHON BRASIL – PYTHON Brasil. Disponível: http://www.pythonbrasil.com.br,


acessado em 09/2008.

WIKIPEDIA – Wikipedia, the free Encyclopedia. Disponível em


http://en.wikipedia.org/wiki/Python_(programming_language), acessado em 09/2008.

WIKIBOOKS – Wikibooks. Disponível: http://pt.wikibooks.org/wiki/Python,


acessado em 09/2008.

Vous aimerez peut-être aussi