Download - Minicurso de Python Básico
![Page 1: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/1.jpg)
Minicurso de Python Basico
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes
25 de junho de 2013
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 2: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/2.jpg)
Introducao a Linguagem Python
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 3: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/3.jpg)
O que e Python?
Python e uma linguagem de altıssimo nıvel, orientada a objetos,de tipagem dinamica forte, interativa e interpretada. Possui umasintaxe clara e concisa, que favorece a legibilidade do codigo,tornando a linguagem mais produtiva.E possıvel integrar o Pythona outras linguagens como C e Fortran.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 4: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/4.jpg)
Por que usar Python?
•Facil e simples•Sintaxes limpas•Diversas bibliotecas inclusas• Mais expressiva do que muitas linguagens (C/C++, Perl, Java)• Interativa• Prototipos rapidos• Alta produtividade•Interfaces para outras linguagens como C/C++ e Fortran
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 5: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/5.jpg)
Informacoes sobre o Python
•Os arquivos sao identificados pela extensao “.py” (arquivo.py)•Nao ha declaracao de tipo de variaveis, nem abertura efechamento de chaves. Porem, a identacao e extremamenteimportante!!•Aceita os tipos de dados basicos (int, float, long int, boolean,char...)•Para comentar uma linha, basta inserir “]” no inıcio da linha•Variaveis no interpretador Python sao criadas atraves daatribuicao e destruıdas pelo coletor de lixo (garbage colector),quando nao existem mais referencias a elas.•Nomes das variaveis devem comecar com letra (sem acentuacao)ou sublinhado ( ) e seguido por letras (sem acentuacao), dıgitos ousublinhados ( ), sendo que maiusculas e minusculas saoconsideradas diferentes.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 6: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/6.jpg)
Tipos de Dados
Alem disso, existem tipos que funcionam como colecoes. Osprincipais sao:•Lista•Tupla•DicionarioOs tipos no Python podem ser•Mutaveis: permitem que os conteudos das variaveis sejamalterados•Imutaveis: nao permitem que os conteudos das variaveis sejamalterados
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 7: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/7.jpg)
Tipos - numeros
Python oferece alguns tipos numericos na forma de builtins:•Inteiro (int): i = 1•Real de ponto flutuante (float): f = 3.14•Complexo (complex): c = 3 + 4j
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 8: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/8.jpg)
Tipos - numeros
Saıda:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 9: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/9.jpg)
Operacoes
Operacoes aritmeticas:•Soma (+)•Diferenca (-)•Multiplicacao (*)•Divisao (/): entre dois inteiros funciona igual a divisao inteira.Em outros casos, o resultado e real•Divisao inteira (//): o resultado e truncado para o inteiroimediatamente inferior, mesmo quando aplicado em numeros reais,porem neste caso o resultado sera real tambem•Modulo (): retorna o resto da divisao.•Potencia (**): pode ser usada para calcular a raiz, atraves deexpoentes fracionarios (exemplo: 100 ** 0.5)•Positivo (+)•Negativo (-) ]
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 10: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/10.jpg)
Operacoes
Operacoes logicas:•Menor (<)•Maior (>)•Menor ou igual (<=)•Maior ou igual (>=)•Igual (==)•Diferente (!=)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 11: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/11.jpg)
Tipos - Textos
A inicializacao de strings pode ser:•Com aspas simples ou duplas•Em varias linhas consecutivas, desde que seja entre tres aspassimples ou duplas•Sem expansao de caracteres (exemplo: s = r’\n’, em que scontera os caracteres “\” e “n”)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 12: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/12.jpg)
Tipos - Textos
Fatias (slices) de strings podem ser obtidas colocando ındices entrecolchetes apos a string.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 13: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/13.jpg)
Tipos - Textos - Metodos
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 14: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/14.jpg)
Tipos - Textos - Metodos
Saıda
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 15: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/15.jpg)
Tipos - Listas
•Listas sao colecoes heterogeneas de objetos, que podem ser dequalquer tipo, inclusive outras listas•As listas no Python sao mutaveis, podendo ser alteradas aqualquer momento•Listas podem ser fatiadas da mesma forma que as strings, mascomo as listas sao mutaveis, e possıvel fazer atribuicoes a itens dalista•Estruturas de dados nativas: list•Crescem ate o limite da memoria•Metodos para adicionar, remover, ordenar, procurar, contar•Listas sao delimitadas por [ e ]•Sintaxe: lista = [a, b, ..., z]
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 16: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/16.jpg)
Operacoes com listas
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 17: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/17.jpg)
Operacoes com listas
Saıda:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 18: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/18.jpg)
Tipos - Tuplas
•Estruturas de dados nativas: tuple•Colecoes de objetos heterogeneos•Crescem ate o limite da memoria•Acesso sequencial, em fatias ou direto•Metodos para adicionar, remover, ordenar, procurar, contar•Tuplas sao imutaveis, diferentes das listas•Tuplas sao delimitadas por ( e )•Uma tupla e uma colecao de objetos separados por vırgula•Pode ter ou nao parenteses para delimitar a tupla•Particularidade: tupla com apenas um elemento e representadacomo: t1 = (1,)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 19: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/19.jpg)
Tipos - Tuplas
•Os elementos de uma tupla podem ser referenciados da mesmaforma que os elementos de uma lista: primeiro elemento = tupla[0]•Listas podem ser convertidas em tuplas: tupla = tuple(lista)e tuplas podem ser convertidas em listas: lista = list(tupla)•Embora a tupla possa conter elementos mutaveis, esses elementosnao podem sofrer atribuicao, pois isto modificaria a referencia aoobjeto.•As tuplas sao mais eficientes do que as listas convencionais, poisconsomem menos recursos computacionais (memoria), por seremestruturas mais simples, tal como as strings imutaveis em relacaoas strings mutaveis.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 20: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/20.jpg)
Operacoes com tuplas
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 21: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/21.jpg)
Operacoes com tuplas
Saıda:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 22: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/22.jpg)
Existem mais tipos!!
•Dicionarios•Conjuntos•Listas como Pilhas•Listas como Filas•Funcoes especiais para listas (map, filter, reduce)•Funcoes lambda•Tecnicas especiais de iteracao em listasE muito mais!
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 23: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/23.jpg)
Estruturas de Controle:
Controle de Fluxo if-else
E muito comum em um programa que certos conjuntos deinstrucoes sejam executados de forma condicional, em casos comovalidar entradas de dados, por exemplo.•Sintaxe:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 24: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/24.jpg)
Estruturas de Controle:
Controle de Fluxo if-else
Onde:•<condicao>: sentenca que possa ser avaliada como verdadeira oufalsa•<bloco de codigo>: sequencia de linhas de comando•As clausulas elif e else sao opcionais e podem existir varios elifspara o mesmo if, porem apenas um else ao final•Parenteses so sao necessarios para evitar ambiguidades
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 25: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/25.jpg)
Estruturas de Controle:
Controle de Fluxo if-else
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 26: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/26.jpg)
Estruturas de Controle:
Controle de Fluxo if-else
Saıda:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 27: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/27.jpg)
Estruturas de Controle:
Lacos
•Lacos (loops) sao estruturas de repeticao, geralmente usados paraprocessar colecoes de dados, tais como linhas de um arquivo ouregistros de um banco de dados, que precisam ser processados porum mesmo bloco de codigo.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 28: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/28.jpg)
Estruturas de Controle:
Lacos - for
•E a estrutura de repeticao mais usada no Python. A instrucaoaceita nao so sequencias estaticas, mas tambem sequenciasgeradas por iteradores•Iteradores sao estruturas que permitem iteracoes, ou seja, acessoaos itens de uma colecao de elementos, de forma sequencial•Durante a execucao de um laco for, a referencia aponta para umelemento da sequencia•A cada iteracao, a referencia e atualizada, para que o bloco decodigo do for processe o elemento correspondente
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 29: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/29.jpg)
Estruturas de Controle:
Lacos - for
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 30: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/30.jpg)
Estruturas de Controle:
Lacos - for
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 31: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/31.jpg)
Estruturas de Controle:
Lacos - for
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 32: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/32.jpg)
A Funcao range()
A funcao range(m, n, p), e muito util em lacos, pois retorna umalista de inteiros, comecando em m e menores que n, em passos decomprimento p, que podem ser usados como sequencia para o laco.A funcao gera uma lista contendo progressoes aritmeticas
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 33: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/33.jpg)
Estruturas de Controle:
while
•Executa um bloco de codigo atendendo a uma condicao•O laco while e adequado quando nao ha como determinarquantas iteracoes vao ocorrer e nao ha uma sequencia a seguirExemplo:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 34: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/34.jpg)
Funcoes
Funcoes sao blocos de codigo identificados por um nome, quepodem receber parametros pre-determinados.No Python, as funcoes:•Podem retornar ou nao objetos•Aceitam Doc Strings•Aceitam parametros opcionais (com defaults). Se nao for passadoo parametro sera igual ao default definido na funcao•Aceitam que os parametros sejam passados com nome. Nestecaso, a ordem em que os parametros foram passados nao importa•Tem namespace proprio (escopo local), e por isso podem ofuscardefinicoes de escopo global•Podem ter suas propriedades alteradas (geralmente pordecoradores)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 35: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/35.jpg)
Funcoes
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 36: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/36.jpg)
Algumas funcoes uteis:
•dir() → lista atributos de um objeto•help() → help interativo ou help(objeto), info. sobre objeto•type() → retorna tipo do objeto•raw input() → prompt de entrada de dados•int(), str(), float()... → typecast•chr(), ord() → ASCII•max(), min() → maior e menor de uma string, lista ou tupla
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 37: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/37.jpg)
Procedimentos
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 38: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/38.jpg)
Computacao Cientıfica usando Python
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 39: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/39.jpg)
Workflow Cientıfico
Objetivo:Apresentar os elementos basicos da linguagemPython para escrever programas para solucao computacionalde problemas cientıficos, manipular, processar e visualizar osdadosAplicacoes:•Gerar dados (simulacao, experimentos)•Manipular e processar os dados•Visualizar os resultados•Para entender, interpretar e validar o que estamos fazendo•Comunicar os resultados•Produzir figuras para relatorios e publicacoes•Apresentacoes
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 40: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/40.jpg)
NumPy
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 41: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/41.jpg)
E uma biblioteca para manipulacao de arrays multidimensionais ematrizes.• Operacoes rapidas em arrays (funcoes vetorizadas)• Diferenca com relacao a listas tradicionais do Python- Vetor homogeneo- Muito mais eficientes do que as listas- Numero de elemento deve ser conhecido a priori. O array podeser redimensionado posteriormente- Muito eficiente (implementado em C)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 42: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/42.jpg)
Criando vetores (arrays) em Numpy
Arrays NumPy podem ser criados a partir de estruturas de dadosdo Python (listas, tuplas) ou a partir de funcoes especıficas paracriacao de arrays.•zeros((m,n)) → vetor de 0 (zero),com m linhas, n colunas•ones((m,n)) → vetor de 1 (um), com m linha e n colunas•empty((m,n)) → vetor vazio, com m linhas e n colunas•zeros like(A) → vetor de 0 (zero), no mesmo formato de A•ones like(A) → vetor de 1 (um), no mesmo formato de A•empty like(A) → vetor vazio, no mesmo formato de A
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 43: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/43.jpg)
Criando vetores (arrays) em Numpy
•random.random((m,n)) → vetor mxn de numeros aleatorios•identity(n) → matriz identidade de ordem n, ponto flutuante•array([[1,2,3],[4,5,6]]) → cria um array a partir de um lista ouuma tupla•arrange(i,f,p) → vetor com inıcio i, final f e passo p•linspace(i,f,n) → vetro com n numeros de i ate f
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 44: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/44.jpg)
Criando vetores (arrays) em Numpy
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 45: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/45.jpg)
Criando vetores (arrays) em Numpy
Outros metodos de arrays:•a.size → tamanho do array•a.ndim → dimensao do array•a.reshape → alterar a ordem do array
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 46: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/46.jpg)
Criando vetores (arrays) em Numpy
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 47: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/47.jpg)
Acesso a arrays
•a[x,y] → acessa o elemento na posicao x,y de a•a[x,:] ou a[x] → acessa a linha x de a•a[:,y] → acessa a coluna y de a•a[-1] → acessa a ultima linha de a •a[x:x’,:] → acessa as linhasde x ate a anterior de x’•a[::x,::y] → acessa os elementos nas linhas 0 e x, e nas colunas 0e y
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 48: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/48.jpg)
Operacoes com Arryas
NumPy suporta operacoes entre arrays sem uso de loops (como emc, por exemplo)•a+n → soma n unidades aos elementos de a•a*n → multiplica os elementos de a por um escalar n•a*b → multiplica um array a por outro array b•a**n → eleva os elementos de a, a n-esima potencia•dot(a,b) → produto escalar entre a e b•cross(a,b) → produto vetorial entre a e b•outer(a,b) → multiplica cada elemento de a por cada elemento deb, e cria uma matriz onde cada produto e uma linha.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 49: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/49.jpg)
Operacoes com Arrays
Exemplo de outer:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 50: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/50.jpg)
Metodos dos vetores
•a.sum() → retorna a soma dos elementos de a•a.min() → retorna o menor elemento de a•a.max() → retorna o maior elemento de a•a.mean() → retorna a media dos elementos de a•a.std() → retorna o desvio padrao dos elementos de a•a.var() → retorna a variancia dos elementos de a•a.trace() → traco de a•a.copy() → retorna a copia de a•a.conjugate() → retorna o complexo conjugado de a
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 51: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/51.jpg)
Matrizes
Os arrays apresentados ate agora sao do tipo ndarray.Ha um tipode array bidimensional chamado matrix, que possui algumaspropriedas especiais de matrizes:•matrix.I → inversa•matrix.T → transposta•matrix.H → conjugada•matrix.A → transforma a matriz em um array•O operador * efetua operacoes usuais de algebra linear, tipomatriz-matriz, matriz-vetor, vetor-matriz. •O modulonumpy.linalg possui diversas funcoes de algebra linear, como asolucao de sistemas de equacoes lineares por exemplo.x = linalg.solve((A,B))
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 52: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/52.jpg)
Polinomios
O numpy define tambem um tipo para polinomios, com operacoesaritimeticas, derivacao, integracao e avaliacao de polinomios.E possiıvel tambem fazer o ajuste de curvas atraves do Metodo dosMınimos Quadrados.
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 53: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/53.jpg)
SciPy
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 54: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/54.jpg)
E uma colecao de algoritmos matematicos e funcoes utilitarias,implementadas sobre o NumPy, dividas em sub-modulos:•constants: Constantes fısicas•fftpack: Transformada Rapida de Fourier•integrate: Integracao numerica e ODE solvers•interpolate: Interpolacao (Splines)•stats: Distribuicoes e funcoes estatısticas•optimize: Otimizacao•sparse: Matrizes esparsas•linalg: Algebra Linear•io: Entrada e Saıda•signal: Processamendo digital de sinais•ndimage: Processamento digital de imagens
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 55: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/55.jpg)
matplotlib
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 56: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/56.jpg)
matplotlib
O matplotlib e uma biblioteca que permite a visualizacao de dados2D seguindo o estilo do MATLAB. Gera graficos de qualidade parapublicacoes,exporta para diversos formatos e tem a possibilidade deembutir em interfaces graficas (Qt, GTK, ...).• Baseado no NumPy e SciPy •pylab: modulo com diversasfuncoes para plotar graficos de•forma facil
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 57: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/57.jpg)
matplotlib
Exepmlo usando o plot(x,y)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 58: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/58.jpg)
Grafico Plotado:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 59: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/59.jpg)
matplotlib
Adicionando mais informacoes ao grafico:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 60: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/60.jpg)
matplotlib
Grafico Plotado:
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 61: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/61.jpg)
Ha muitas situacoes praticas e aplicadas onde nao e possıvel ou ebastante complicado detrminar a solucao analıtica(ou exata) deEquacoes Diferenciais Ordinarias. Neste caso, e necessario utilizarmetodos numericos. Uma forama numerica de se determinar asolucao de uma EDO, e utilizando Metodo de Euler Expliıcitouk+1 = uk + 4tf (uk ,tk)
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 62: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/62.jpg)
Resolucao de EDO usando Python
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 63: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/63.jpg)
Resolucao de EDO usando Python
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 64: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/64.jpg)
Resolucao de EDO usando Scipy
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico
![Page 65: Minicurso de Python Básico](https://reader031.vdocuments.pub/reader031/viewer/2022021508/586f9edf1a28ab69568ba2d4/html5/thumbnails/65.jpg)
Muito Obrigado!Ana Lıvia Soares Silva de Almeida - Bolsista do Grupo deEducacao Tutorial da Engenharia ComputacionalGuilherme Giordano de Paula Guimaraes - Bolsista do Programa deEducacao Tutorial da Engenharia Civil-Universidade Federal de Juiz de Fora
Ana Lıvia S. S. Almeida,Guilherme Giordano P. Guimaraes Minicurso de Python Basico