Pular para o conteúdo principal

Virtualenv e Pip

Apesar do python ter uma bela biblioteca padrão, ainda falta muita coisa, principalmente quando se fala de aplicações científicas ou de ciências de dados. O que torna o Python tão popular nessas áreas não são apenas as características positivas da linguagem. Tão relevante quanto, são as bibliotecas externas associadas a essas áreas. As bibliotecas básicas foram abordadas brevemente na aula 08 do curso:

Leia mais…

Aula 08: Numpy, Scipy, Matplotlib e Pandas

Aula 08: Numpy/Scipy/Pandas/Matplotlib

Python se tornou uma linguagem de programação amplamente usada em meios científicos. Em algumas áreas se tornou a lingua franca. Porque e como isso ocorreu.

Tradicionalmente, a linguagem usada em computação científica é o FORTRAN, mais especificamente o FORTRAN 77. Também é usado o C/C++ e até hoje essa é a base de quase todas as ferramentas que se utiliza em computação científica. Essas são linguagens compiladas sem interatividade (não estritamente verdade) e o fluxo de trabalho era (ou é...) o seguinte:

  1. Escreva um programa
  2. Compile o programa
  3. Escreva um arquivo com os dados de entrada
  4. Execute o programa com os dados de saída
  5. O programa escreve seus resultados em um arquivo de saída
  6. Use um outro programa para fazer gráficos e analisar os dados
  7. Volte para 1 até dar certo

Leia mais…

Exercícios da aula 06

Exercícios da aula 06: Arquivos

Na aula 06, terminamos as funções e introduzimos a escrita e leitura de arquivos. Os exercícios referentes a funções já foram resolvidos junto com os exercícios da aula 05.

Exercício 1

Escreva um programa que receba o nome de um arquivo pela linha de comando e imprimia todas as linhas desse aqruivo

O programa pode ser visto no arquivo exercicio01.py:

#! /usr/bin/env python3

import sys


def imprimir_linhas(arquivo):
    with open(arquivo, "r") as arq:
        for linha in arq.readlines():
            print(linha.strip())


if __name__ == '__main__':
    arquivo = sys.argv[1]
    imprimir_linhas(arquivo)

Leia mais…

Aula 07: Classes e Objetos

Aula 07: Classes e objetos

Nessa aula vamos introduzir o conceito de classes e objetos e os fundamentos de programação orientada por objetos.

Esse é um assunto complexo e extenso e a idéia aqui é passar os fundamentos em Python. A idéia é entender a diferença entre método e função e como usar classes e objetos em Python mais do que criá-las você mesmo.

Leia mais…

Aula 06: Arquivos (e funções...)

Aula 06: Arquivos

Não tenho como enfatizar a importância de saber armazenar dados em disco!

Aqui vamos ver os fundamentos de como trabalhar com arquivos.

Existem pacotes que permitem trabalhar com formatos de arquivos específicos:

Vamos tratar aqui dos fundamentos

Leia mais…

Git e GitHub

Na aula de ontem (aula 05) o Fabio falou um pouco sobre Git e GitHub. Eu já tinha postado a respeito quando falei do repositório com o material do curso. Expliquei qual a idéia por trás disso mas não entrei mais a fundo. O Fabio só mostrou que o Git e o GitHub pode ser utilizado diretamente do editor Visual Studio Code.

O que é o Git

Git é uma ferramente de controle de versões. O que quer dizer isso? Basicamente ele permite que você gerencie os arquivos de um projeto de software. Dê uma lida rápida sobre a motivação no post sobre o repositório do curso.

Quando eu falo gerenciar os arquivos de um projeto de software, eu quero dizer que podemos acessar toda a história de modificação de cada arquivo. Voltar atrás em algo que não gostamos, testar alternativas diferentes e coisas do tipo.

Para começar vamos tentar trabalhar com o repositório do curso mesmo.

Leia mais…

05 Aula - Funções

Aula 05: Funções

Esta aula é baseada no capítulo 8 do livro "Introdução à programação com Python. Algoritmos e lógica de programação para iniciantes" de Nilo Ney Coutinho Menezes.

Esta é talvez a aula mais importante do curso.

Começamos o curso usando o interpretador (terminal do python na verdade) como uma calculadora. Nessa calculadora incrementada, aprendemos a trabalhar com números (inteiros e de ponto flutuante) e também com strings.

Leia mais…