- 2011 • Pós graduado em “Desenvolvimento Ágil de Aplicativos para Dispositivos Móveis e Web” na Fai - 2015 • Desenvolvedor Pleno no Grupo “Baraka Conexões de Negócios” • Experiência com Java, C#, PHP, C e Node • Trabalho a um ano e meio com Python full time
objetos de tipagem dinâmica e forte, interpretada e interativa • Possui sintaxe clara e concisa • Incluí diversas estruturas de alto nível e vem com as baterias inclusas! – Mais informações em: https://docs.python.org/2/library/
tipo de uma variável é inferido pelo interpretador em tempo de execução • Python possuí tipagem forte: – O interpretador verifica se as operações são válidas e não faz coerções automáticas entre tipos incompatíveis • O interpretador pode ser usado de forma interativa usando o comando “python” no terminal do SO
por linhas que podem continuar nas linhas seguintes utilizando o caractere “\”, parênteses, colchetes ou chaves; • O interpretador entende que uma linha é comentário quando ela inicia com “#”, isso não se aplica em comentários funcionais. – Comentários funcionais são utilizados para alterar a codificação do arquivo fonte ou definir qual interpretador será utilizado
são delimitados pelo uso de endentação (isso obriga o desenvolvedor a criar um código no mínimo legível) – A linha anterior ao bloco sempre termina com “:”
objetos, sendo assim as estruturas de dados possuem atríbutos (dados em si) e métodos (rotinas associadas aos dados) • Tanto os atríbutos quanto os métodos são acessados usando ponto “.” – Acesso a um atributo: objeto.atributo – Invocando um método: objeto.metodo(argumentos) • Também é possível acessar a estrutura de módulos importados usando o ponto
podem ser alteradas em tempo de execução • Existem variáveis mutáveis e não mutáveis • A criação das variáveis são feitas no momento da atribuição e são desalocadas pelo coletor de lixo, quando não usadas mais (não há nenhuma referência apontando mais para ela)
– Inteiro (int): i = 1 – Real (float): f = 3.14 • Além dos tipos númericos convencionais, existem também os inteiros longos que posssuem dimensão arbitrária e são limitados pela memória disponível • As conversões entre inteiro e longo são automáticas
não é possível adicionar, remover ou alterar um caractere de uma string • Essas operações são realizadas criando- se um nova string • Possuem dois tipos: – String padrão: s = 'The Butcher' – String unicode: u = u'Élysson MR'
Com aspas simples ou duplas – Em diversas linhas (entre três aspas simples ou duplas) – Sem expansão de caraceres ('\n' conterá os caracteres “\” e “n”
o operador “%” • Interpolação é mais eficiente no uso da memória do que a concatenação convencional • Alguns símbolos: – “%s”: String – “%d”: Inteiro – “%f”: Real – “%%”: Sinal de porcentagem
objetos que podem ser de qualquer tipo, inclusive outras coleções • Listas são mutáveis, tuplas não • Podem ser fatiadas da mesma forma que as strings • Sintaxe: – lista = [1, 2, 3, 4, 5] – tupla = (1, 2, 3, 4, 5)
compostas de chave e valor • São mutáveis, mas a chave precisa ser um tipo imutável • Dicionários não garantem que as chaves estarão ordenadas • Sintaxe: – dicionario = {'a': 1, 'b': 2}
uma especialização do tipo inteiro – Verdadeiro (True) corresponde ao valor 1 – Falso (False) corresponde ao valor 0 • Os seguintes valores são considerados falsos: – False – None – '' (string vazia) – [], () e {} (coleções vazaias) – Outras estruturas com tamanho igual a 0
somente se as expressões são verdadeiras – or: retorna False somente se as expressões são falsas – not: nega a expressão – is: retorna True se 2 referências forem para o mesmo objeto – in: retorna True se o elemento estiver presente numa lista
por um nome, podem receber parametros pré-determinados • Podem ou não ter retorno, aceitam parametros opcionais e possuem namespace próprio (escopo local)
receber uma sequência estática também pode receber sequencias de iteradores e geradores • A cláusula “break” interrompe o laço, continue pula para próxima interação
tabela • Cada linha em um CSV representa um registro • Os campos são separados por vírgulas (pode-se usar outro caractere) • Espaços iniciais e finais são eliminados das Strings • Usado para troca de dados entre aplicações
nome dos campos do CSV, colunas separadas por “;“ • As linhas em verde, representam os dados do CSV, colunas separadas por “;“ • Quando não houver dados, a coluna fica em branco
dados em uma lista de dicionarios (nome da coluna → valor), imprimir o total de elementos 3)Procurar pelo menor e maior valor do combustível para Minas Gerais 4)Calcular o valor médio das amostras 5)Imprimir os valores dos combustíveis de Pouso Alegre ordenados pela pelo valor médio