Computação Científica com Python Conteúdo 1ª Parte Baixando e instalando os principais módulos do Python; Primeiro contato, usando o Python como uma calculadora; Tipos de dados e objetos; Sintaxe da linguagem Python; Loops e controle de fluxo; Leitura e escrita de arquivos; Programa básico para plotagem de série temporal; Plotagem de mapa topo-batimétrico com contorno de linha de costa. Baixando e instalando os principais módulos do Python O interpretador do PYTHON para sistema windows pode ser baixado pelo seguinte link https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi Esta versão é tem maior estabilidade e compatibilidade Baixando e instalando os principais módulos do Python ● Baixe o instalador do aplicativo PIP nesse link https://bootstrap.pypa.io/get-pip.py ● Clique com o botão direito na pagina e peça para “salvar como” que o download será iniciado. ● O aplicativo PIP serve para baixar e instalar ou atualizar os módulos do PYTHON de maneira automática. ● Para instalar o PIP basta clicar com o botão direito e mandar abrir com IDLE, que é o interpretador do PYTHON. ● Como o instalador PIP é um programa escrito em PYTHON (extensão ".py") você precisa executá-lo usando o IDLE. ● Para executar o instalador basta clicar no menu Run e em seguinda Run Module, ou simplesmente apertar a tecla F5. Baixando e instalando os principais módulos do Python Instale o módulo numérico Numpy, que serve para o operações matemáticas em matrizes, muito importante para manipulação de matrizes de dados ambientais. O Numpy permite operações em matrizes de forma muito similar ao Matlab. Para instalar o Numpy você vai usar o instalador PIP, que automaticamente vai baixar e instalar a versão compatível mais atual. Abra o prompt de comando e digite: pip install numpy Instale também o módulo Scipy, para ter acesso a diversas ferramentas de computação científica, desde ferramentas estatísticas, de analise de sinais, de geoprocessamento dentre outras. Abra o prompt de comando e digite: pip install scipy Baixando e instalando os principais módulos do Python Instale o modulo gráfico do Python, o Matplotlib, que serve para elaboração de figuras, como mapas e gráficos. Abra o prompt de comando e digite: pip install matplotlib Instale o modulo Pyshp para ler arquivos shapefile. Abra o prompt de comando e digite: pip install pyshp Instale um editor de programas Python. Existem muitas interfaces para edição de programas em linguagem Python, o próprio IDLE já serve para isso. Existem vários disponíveis, o meu favorito é o Pyscripter que pode ser baixado no link: https://sourceforge.net/projects/pyscripter/files/latest/download O Pyscripter tem uma interface bastante amigável, similar à interface do sistema Matlab, com recursos que facilitam a edição e testes dos programas. Primeiro contato, usando o Python como uma calculadora O interpretador do PYTHON funciona como uma calculadora sofisticada. Abra o interpretador e digite os comandos e veja os resultados clicando em enter. PYTHON permite vários formatos numéricos: 1. Inteiro (int): 1 2. Real de ponto flutuante (float): 1.0 3. Complexo (complex): (3 + 4j) Primeiro contato, usando o Python como uma calculadora O interpretador do PYTHON funciona como uma calculadora sofisticada. Abra o interpretador e digite os comandos e veja os resultados clicando em enter. PYTHON permite vários formatos numéricos: 1. Inteiro (int): 1 2. Real de ponto flutuante (float): 1.0 3. Complexo (complex): (3 + 4j) Tipos de dados e objetos ● strings: sequencia imutável de caracteres 'cruzeira', u'jararaca', "bothrops" ● bytes: sequencia imutável de bytes ● integer: número de precisão fixa, de magnitude ilimitada 1, 223323, 12 ● float: número de ponto utuante de precisão variável 3.141592654, 6.02E23 ● complex: número complexo com parte real e imaginária ● lista: lista (heterogênea) de objetos ● tupla: lista imutável de objetos (9, 'F', 2) ● dicionário: conjunto associativo {'idade': 21, 'nome': 'Jonas' } ● set: conjunto não ordenado, itens não repetidos {2, 6, 1, 0} b'ABDE22 00' 3+2.5j [1, 'ABC', 2+1j] Tipos de dados e objetos – Operações com Listas >>> x = [5,12,13,200] # cria lista >>> x [5, 12, 13, 200] >>> x.append(-2) # acrescenta -2 no final >>> x [5, 12, 13, 200, -2] >>> del x[2] # remove item 3 >>> x [5, 12, 200, -2] >>> z = x[1:3] # fatia do vetor": elementos do indice 1 até 3(exclusive) >>> z [12, 200] >>> yy = [3,4,5,12,13] # outra lista >>> yy[3:] # todos elementos a partir do indice 3(inclusive) [12, 13] >>> yy[:3] # todos elementos até indice 3(exclusive) [3, 4, 5] >>> yy[-1] # último elemento (um contando do final) 13 >>> x.insert(2,28) # insere 28 no indice 2 (posição 3) >>> x [5, 12, 28, 200, -2] >>> 28 in x # testa se 28 está em x; True(1) ou False(0) 1 >>> 13 in x 0 >>> x.index(28) # retorna o índice do elemento cujo valor 28 2 >>> x.remove(200) # remove o elemento cujo valor é 200 Tipos de dados e objetos – Operações com Listas s[i] = J substitui elemento s[i:j] = T substitui grupo de elementos s.append(x) adiciona elemento s.index(x) retorna o índice do valor x s.insert(i,x) adiciona x na posicao i s.remove(x) remove elemento x s.reverese() inverte a ordem s.sort() ordena lista >>> s = [1,1,2,3,5,8] >>> s[2] = 'a' >>> s [1, 1, 'a', 3, 5, 8] >>> s.index(5) 4 >>> s.insert(2,'dois') >>> s [1, 1, 'dois', 'a', 3, 5, 8] >>> s.reverse() >>> s [8, 5, 3, 'a', 'dois', 1, 1] >>> s.sort() >>> s [1, 1, 3, 5, 8, 'a', 'dois'] >>> help(s) Sintaxe e estrutura de código da linguagem Python Codificação de texto (geralmente latin1, cp1252 ou utf-8) Estrutura baseada em identação Sintaxe e estrutura de código da linguagem Python O Python é uma linguagem orientada a objeto. Sendo assim, as variáveis atributos (dados) e métodos (rotinas associadas ao objeto) são acessados usando ponto “.”, sendo que os métodos devem ser sempre seguidos de parênteses s.index(x) retorna o índice do valor x s.append(x) adiciona elemento s.reverese() inverte a ordem Loops e Controle de Fluxo Laços são estruturas de repetição, geralmente usados para processar conjuntos de dados, tais como linhas de um arquivo ou registros de um banco de dados, que precisam ser processados por um mesmo bloco de código Programa básico para plotagem de série temporal Exemplo de arquivo de precipitação de chuva temporal.txt Programa básico para plotagem de série temporal Exemplo de arquivo de precipitação de chuva Programa básico para plotagem de série temporal Exemplo de arquivo de precipitação de chuva Programa básico para plotagem de série temporal Exemplo de arquivo de precipitação de chuva Programa básico para plotagem de série temporal Exemplo de arquivo de precipitação de chuva Programa básico para plotagem de mapa de batimetria Dados de batimetria xyzbat.txt 507385.66600000 508328.03200000 509270.39800000 510630.53500000 511990.67100000 513962.83600000 515800.00000000 518430.00000000 521566.48900000 526925.53400000 532284.57800000 537938.72100000 543592.86300000 549177.97100000 554763.07900000 560097.20100000 8537740.28000000 -5.11898184 8536974.29000000 -6.95069647 8536208.30000000 -9.94229889 8535187.47000000 -14.07699871 8534166.64000000 -18.47863007 8532835.82000000 -30.37613487 8531160.00000000 -40.83362579 8529280.00000000 -85.00095367 8526859.27000000 -152.88908386 8525004.82000000 -178.02574158 8523150.37000000 -332.76910400 8522917.97000000 -522.62683105 8522685.58000000 -879.72277832 8523703.78000000 -1125.14660645 8524721.99000000 -1309.39135742 8526583.44000000 -1389.79321289 Arquivo shapefile de linha de costa da BTS Lc_BTS.shp Programa básico para plotagem de mapa de batimetria Programa básico para plotagem de mapa de batimetria Programa básico para plotagem de mapa de batimetria Programa básico para plotagem de mapa de batimetria Obrigado pela atenção Duvidas e sugestões: [email protected] [email protected]