Buscar

Trabalho Python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Slide 1 
Por que Python ? 
- O Python é uma linguagem de programação dinâmica de altíssimo nível e orientada a objetos que pode ser 
utilizada no desenvolvimento de qualquer tipo de aplicação, científica ou não. 
- O Python oferece suporte à integração com outras linguagens e ferramentas e é distribuído com uma vasta 
biblioteca padrão. 
- Possui uma sintaxe simples e clara, podendo ser aprendida em poucos dias. O uso do Python é 
frequentemente associado com grandes ganhos de produtividade e ainda, com a produção de programas de 
alta qualidade e de fácil manutenção. 
Slide 2 
A linguagem de programação Python começou a ser desenvolvida no final dos anos 80, na Holanda, por Guido van 
Rossum. Guido foi o principal autor da linguagem e continua até hoje desempenhando um papel central no 
direcionamento da evolução. 
Slide 3 
Dentre as várias características da linguagem que a tornam interessante para computação científica, destacam-se: 
Multiplataforma: 
O Python pode ser instalado em qualquer plataforma computacional: desde PDAs até supercomputadores com 
processamento paralelo, passando por todas as plataformas de computação pessoal. 
Portabilidade: 
Aplicativos desenvolvidos em Python podem ser facilmente distribuídos para várias plataformas diferentes daquela 
em que foi desenvolvido, mesmo que estas não possuam o Python instalado. 
Software livre: ​O Python é software livre, não impondo qualquer limitação à distribuição gratuita ou venda de 
programas. 
Slide 4 
Extensibilidade: 
O Python pode ser extendido através de módulos,escritos em Python ou rotinas escritas em outras linguagens, tais 
como C ou Fortran. 
Orientação a objeto: 
Tudo em Python é um objeto: funções, variáveis de todos os tipos e até módulos (programas escritos em Python) são 
objetos. 
Tipagem automática: 
Python é uma linguagem dinamicamente tipada. Não é necessário tipar as variáveis para usá-las. O tipo de uma 
variável (string, inteiro, float, etc.) é determinado durante a execução do código. 
Slide 5 
Código legível: 
O Python, por utilizar uma sintaxe simplificada e forçar a divisão de blocos de código por meio de indentação, 
torna-se bastante legível, mesmo para pessoas que não estejam familiarizadas com o programa. 
Flexibilidade: 
O Python já conta com módulos para diversas aplicações, científicas ou não, incluindo módulos para interação com 
os protocolos mais comuns da Internet (FTP, HTTP, XMLRPC, etc.). A maior parte destes módulos já faz parte da 
distribuição básica do Python. 
Operação com arquivos: 
A manipulação de arquivos, tais como a leitura e escrita de dados em arquivos texto e binário, é muito simplificada 
no Python, facilitando a tarefa de muitos pesquisadores ao acessar dados em diversos formatos. 
Slide 6 
Uso interativo: evita “codifica-compila-roda”: 
O Python pode ser utilizado interativamente ou invocado para a execução de scripts completos. O uso interativo 
permite “experimentar” comandos antes de incluí-los em programas mais complexos, ou usar o Python 
simplesmente como uma calculadora. 
Quem usa 
Estas e outras vantagens fizeram que grandes empresas e universidades começassem a usar Python com sucesso, 
como a Philips, Industrial Light and Magic (empresa de George Lucas), que usou Python para controlar efeitos 
especiais de Star Wars, a NASA, a Aliança Espacial Universal (USA), a Nokia que usa Python em seus celulares, a 
Disney, os sites Google e Yahoo, entre outros. 
Slide 7 
The Zen of Python​, por Tim Peters 
Parte da cultura da linguagem gira ao redor de The Zen of Python, um poema que faz parte do documento "PEP 20 
(The Zen of Python)" 
Beautiful is better than ugly. 
Explicit is better than implicit. 
Simple is better than complex. 
Complex is better than complicated. 
Readability counts. 
Special cases aren't special enough to break the rules. 
Errors should never pass silently. 
Now is better than never. 
... 
Slide 8 
Fundamentos da linguagem 
 
O interpretador de Python. 
O console interativo do Python possui um sistema de ajuda integrado que pode ser usado para acessar a 
documentação de qualquer elemento da linguagem. O comando help() inicia a ajuda interativa. 
Tipos de Objetos 
Os principais tipos de objetos em Python são inteiros, floats (números reais, que o computador representa da 
melhor maneira possível por meio de variações na posição do separador decimal), strings (texto), listas, tuplas e 
dicionários. Pode-se transformar o tipo original de um objeto para inteiro, float ou string por meio das funções int, 
float e str, respectivamente. 
Delimitadores de bloco 
O Python detecta os limites automaticamente pela endentação da linha - o espaço à esquerda em seu código. Todas as 
instruções endentadas com a mesma distância à direita pertencem ao mesmo bolco de código. Em outras palavras, as 
instruções dentro de um bolco são endentadas verticalmente. 
 
Slide 9 
Estruturas de dados 
Listas 
As listas formam o tipo de dados mais utilizado e versátil do Python. 
Listas são definidas como uma sequência de valores separados por vírgulas e delimitada por colchetes: lista=[1,2,3]. 
Uma lista é uma sequência ordenada de elementos, de forma que podemos selecionar elementos de uma lista por 
meio de sua posição. 
Todas as contagens em Python começam em 0. Uma lista também pode possuir elementos de tipos diferentes. 
 Listas são mutáveis , crescem até o limite da memória. 
Acesso sequencial, em fatias ou direto por índice. 
Possuem diversos métodos: ​adicionar, remover, ordenar, procurar, contar. 
Slide 10 
 
Slide 11 
Strings 
Strings são os objetos que Python oferece para trabalhos com texto (conjuntos de caracteres). Substituem ​char​ e 
vetor de​ char. 
As strings em Python são seqüências imutáveis. 
Os endereçamentos começam a ser contados do zero. 
Crescem até o limite da memória. 
Acesso sequencial, em fatias ou direto por índice Implementadas com arrays. 
Principais métodos: ​split, count, index, join, lower, upper, replace, etc. 
 
Slide 12 
 
Slide 13 
Atribuição manipula referências 
Por um processo chamado “binding”, atribui-se um objeto a um nome e este nome incorpora o tipo do objeto. Assim, 
para atribuirmos o valor 2, que é um inteiro, ao nome “valor1”, só precisamos fazer valor1=2, e “valor1” será 
automaticamente tipado por Python como inteiro. 
Para saber qual o tipo de determinado objeto, usamos a função type(x), que retorna o tipo do objeto x. 
x = y​ não faz uma cópia de y.​ x = y​ faz x referenciar ao objeto que y referencia. 
 
 
Para obter um novo objeto, ao invés de uma referência para um objeto existente deve-se usar o módulo ​copy. 
Slide 14 
Estruturas de controle 
Estruturas de controle de Python incluem: estrutura de seleção (​if, else, elif​); estrutura de repetição (​for, 
while​), que itera por um container, capturando cada elemento em uma variável local dada; construção de classes 
(​class​); construção de subrotinas (​def​); construção de escopo (​with​), como por exemplo para adquirir um recurso. 
if 
A instrução ​if​ do Python é típica da maioria das linguagens procedurais. Ela ssume a forma de um teste ​if ​seguido 
de uma ou mais testes ​elif​ opcionais (significando ​else​ ​if​), e termina com um bloco ​else​ opcional. A forma geral de 
uma instrução ​if​ é a seguinte: 
if <teste>: #teste if 
<instruçõoes1> #Bloco associado 
elif <teste2>:  
<instruções2> #instruções elif opcionaiis 
else:  
<instruções3> #instrução opcional 
Exemplo: 
 
Slide 15 
while 
A instrução ​while​ consiste em uma linha de cabeçalho com uma expressão de teste, um miolo com uma ou mais 
instruções indentadas e uma parte ​else​ opcional, que é executada se o controle sai do loop sem passar por umainstrução ​brake​. O Python continua avaliando o teste do início e executando as instruções aninhadas na parte ​while​, até 
que o teste retorne um valor falso: 
while <teste> : #faz um loop em teste 
<instruções1>  #miolo do loop 
else: #else opcional 
<instruções2> #executadas se não sai do loop com break 
 
Exemplo: 
 
 
Slide 16 
for 
O ​loop​ ​for​ é um iterador de sequência genérico no Python: ele pode percorrer os itens de qualquer objeto sequência 
ordenada. O ​loop​ ​for​ funciona em ​strings​, tuplas, listas e em novos objetos que criaremos posteriormente com classes. 
O ​loop​ ​for​ do Python começa como uma linha de cabeçalho que especifica um destino (ou destinos) de atribuição, junto 
com um objeto que você queira percorrer. 
O ​loop​ ​for​ também aceita um bloco ​else​ que é executado se o ​loop​ termina se ele encontrar uma instrução ​break​: 
for <destino> in <objeto> #Atribui itens do objeto ao destino 
<instruções> 
if <teste>: break #Sai do loop, pular clausula else 
if <teste>: continue #Vai para o início do loop agora 
else: 
<instruções> #Se não atingimos uma instrução break 
Slide 17 
Exemplos: 
 
Slide 18 
Loops contadores ​Range 
A função ​range​ é independente dos ​loops​ ​for​. Embora seja mais frequentemente usada para gerar índices em ​loop​ ​for​, 
você pode usá-las sempre que precisar de uma lista de inteiros. 
 
 
 
Slide 19 
FUNÇÕES 
A instrução ​def​ cria um objeto função e atribui um nome a ela. O corpo das funções geralmente contém a instrução 
return​ que pode aparecer em qualquer lugar no miolo de uma função. A instrução ​return​ é opcional; se não estiver 
presente, uma função termina quando o fluxo de controle chega no final do seu miolo. 
def <nome> (arg1, arg2, … , argN): 
<instruções> 
return <valor> 
Exemplo: 
 
Slide 20 
Em Python, o significado real de uma expressão como ​x * y ​depende completamente dos tipos de objetos que x e y são. O Python deixa por conta 
dos objetos fazer algo razoável para essa sintaxe. Esta flexibilidade, denominada ​polimorfismo​, é algo intencional em Python. 
Se os objetos passados para uma função possuem os métodos e operadores esperados (como para X * Y), então eles são totalmente compatíveis com 
a lógica da função. 
Mesmo na função ​times​, isto significa que quaisquer dois objetos que suportem um operador * funcionarão independente do que possam ser e de 
quando possam escritos. Isto revela-se uma diferença filosófica fundamental entre o Python e as linguagens tipadas estaticamente como C++ e Java. 
Slide 21 
Lidando com erros: Exceções 
Suponhamos que você escreva um programa que realiza divisões em algum ponto, e dependendo dos dados fornecidos ao programa, o 
denominador torna-se zero. Como a divisão por zero não é possível, o seu programa para, retornando uma mensagem “ZeroDivisionError: division 
by zero”. Caso você queira continuar com a execução do programa apesar do erro, poderíamos solucionar o problema conforme o exposto no 
exemplo: 
 
A construção ​try:...except​: nos permite vericar a ocorrência de erros em partes de nossos programas e responder adequadamente a ele. o 
Python reconhece um grande número de tipos de exceções, chamadas “built-in exceptions”. 
 
 
 
Slide 22 
Pacotes Úteis para Computação Cientíca​ (​http://www.scipy.org/​) 
SciPy é um ambiente baseado em Python de software em código aberto para matemática e engenharia. Estas 
são algumas de seus principais pacotes: 
NumPy 
NumPy é o pacote fundamental para computação científica com Python. ​Integrando o Python com rotinas numéricas escritas em uma 
linguagem compilada, para obter velocidade, a extensão numPy transforma o Python em uma ferramenta de programação numérica sofisticada, 
porém fácil de usar, que frequentemente pode substituir código já existente em linguagens compiladas tradicionais como FORTRAN ou C++.  
Ele contém entre outras funções: 
● Um poderoso objeto array N­dimensional capaz de armazenar dados de diferentes tipos em cada posição; 
● Sofisticadas funções de broadcasting que otimizam a manipulação de arrays compostos por tipos distintos de dados; 
● Otimização para álgebra linear, linear algebra, transformada de Fourier e números randômicos. 
Slide 23 
Matplotlib 
Matplotlib é uma biblioteca de diagramas e gráficos 2D que produz figuras com qualidade editorial em diversos formatos e ambientes interativos 
entre plataformas. matprolib pode ser utilizado em scripts Python, MATLAB e Mathematica e aplicações para servidores web. 
 
SciPy library 
A biblioteca SciPy é um dos pacotes centrais que compoem a pilha SciPy. Ela fornece diversas rotinas amigáveis e eficazes como rotinas para 
integração numérica e otimização. 
Slide 24 
Aplicações: 
- Modelagem matemática 
- Teoria de grafos 
- Interação com Bancos de Dados 
- Simulações estocásticas 
- Programação de sistemas 
- GUIs 
- Scripts de Internet 
- Jogos, imagens, IA, XML e muito mais 
 
Slide 24 
Referencias 
1. ​The Making of Python​ (em ​inglês​) Artima Developer. Visitado em 2007-03-22. 
2. LUTZ, Mark. Aprendendo com python. 2ªed. Porto Alegre: Bookman, 2007. 
https://cld.pt/dl/download/e1946c4f-499c-4961-b63a-179c2fb3526e/Livros%20Linux/Programa%C3%A7%C3%A3o/a
prendendo%20python.pdf 
3. COELHO, Flávio C. Computação Científica com Python. 1ªed. Petrópolis: Edição do autor, 2007. 
http://www.complex.if.uff.br/_media/python_flavio.pdf 
4. ​http://www.scipy.org/​,​ https://www.python.org/ 
5. Slides de Rafael Sachetto Oliveira: ​http://www.ufjf.br/deptocomputacao/files/2010/08/apresentacao.pdf

Continue navegando