Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Documentos relacionados
Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

Correção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição

Características de Python. Inteligência Artificial. Baixando e Instalando. Operadores. Variáveis. Strings 9/10/2010

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

24/09/2014. Prof. André Backes

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Aula de hoje. Listas. Sequências especiais. Introdução. Listas. Sequências. SCC Introdução à Programação para Engenharias

Estruturas de Dados em Python

CONTEÚDO PROGRAMÁTICO

Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Noções de algoritmos - Aula 1

Python - Variáveis e expressões

Introdução à Computação Strings

Fundamentos de Programação em Python

Introdução à Programação Aula 3 Primeiros programas

4. Constantes. Constantes pré-definidas

Noções de algoritmos - Aula 1

Programação I Aula 3 Primeiros programas

Criando Classes em PHP

Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26

Programação de Computadores II

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

A Linguagem Lua Lua Puc-Rio

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

Módulo: PYTHON. Felipe Oliveira

Programação Orientada a Objetos

Estruturas de dados funcionais

MCG126 Programação de Computadores II

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Compiladores - Análise Léxica

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Introdução à Programação

Capítulo 7. Expressões e Sentenças de Atribuição

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Prof. Esp. Fabiano Taguchi PHP. Como surgiu o PHP? PHP

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Estruturas de Dados Pilhas, Filas, Listas

Capítulo 8. Estruturas de Controle no Nível de Sentença

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

1 Da aula teórica ao Java

Variáveis primitivas e Controle de fluxo

Algoritmos e Programação

Computação Científica com Python

Computação II (MAB 225)

Minicurso de Linguagem de Programação Python.

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Processamento da Informação Teoria. Desvio Condicional

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Python para quem sabe Python

Descobrindo Lua. Sérgio Queiroz de Medeiros. Campus Party LabLua. Sérgio Queiroz de Medeiros Descobrindo Lua 1

Minicurso de JavaScript PET Sistemas de Informação Segundo Dia Anthony Tailer. Clecio dos Santos. Rhauani Fazul.

Compiladores - Análise Léxica

Classes e Objetos. Sintaxe de classe em Java

Estrutura de Dados. Diego Silveira Costa Nascimento

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while?

Linguagem de Programação II Implementação

Oficina de Python Prof. Me. José Carlos Perini

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

1.1 o que é um algoritmo... 6

Laboratório de Programação II

Aula 4: Introdução à Linguagem C++

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

Transcrição:

Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings Listas e tuplas Dicionários Fluxo de controle Execução condicional Repetições Características de Python Gratuita. Roda em muitas plataformas. Pode ser baixada em www.python.org Fácil de ler. Ao contrário de Perl = write only language Tempo de implementação rápido. Ao contrário de Java. Orientada a objeto. Usando Python no modo interativo Usuário digitando em vermelho, máquina respondendo em preto. Módulos Arquivos texto contendo código Python. foo.py Importando módulos Todo arquivo terminando em.py é um módulo python que pode ser importado. A terminação.py é omitida. As declarações do módulo (funções, variáveis) ficam disponíveis como atributos de um objeto que tem o nome do módulo. Módulo sendo executado a partir da linha de comando:

Recarregando módulos A importação de módulos é cara computacionalmente e Python só a realiza uma vez (mesmo que o arquivo seja editado). Para forçar que o arquivo seja importado novamente, devemos usar o comando reload. Atributos de Módulos Considere o arquivo bar.py 100 Estruturas de Programas em Python Programas são compostos de módulos. Módulos contém comandos. Comandos contém expressões. Expressões criam e processam objetos. Comandos incluem: Atribuição de variáveis Chamadas de função Controle de fluxo Declaração de função Declaração de objeto Leitura e impressão Objetos built-in de Python Números: inteiro e ponto-flutuante Strings Listas Dicionários Tuplas Arquivos Expressões numéricas e variáveis Operadores usuais: +, *, /, ** Precedência usual: A * B + C * D = (A*B) + (C*D) Módulos úteis: math e random Variáveis Criadas na primeira atribuição São substituídas pelo seu valor quando usadas em expressões Tem que ter recebido um valor antes do primeiro uso. Não precisam ser declaradas Strings Manipular strings em Python é fácil. Comparado com linguagens como C, Java e C++. Strings podem ser escritas usando aspas simples ou aspas duplas. Torna mais fácil incluir aspas dentro da string. Exemplos: Isso é uma string em Python Isso também é uma string em Python Ele disse Alô? e desligou o telefone Gota d água

Barra invertida em strings A barra invertida pode ser usada como caracter de escape para caracteres especiais. Exemplo: \n é newline, \t é tab Aspas triplas Aspas triplas ( ou ) são usadas para strings que ocupam várias linhas. Operações com Strings Indexação e Quebra Concatenação (+) Comprimento (len) Repetição (*) Indexação e Slicing ([ ]) Métodos de strings Alguns exemplos: Listas em Python Listas são coleções ordenadas de objetos arbitrários. Objetos são acessados usando índices que indicam a posição na lista a partir do início. Têm tamanho variável (crescem automaticamente à medida que os objetos são inseridos). São heterogêneas, isto é, podem conter qualquer tipo de objeto, incluindo outras listas. São mutáveis, ao contrário de strings.

Indexação e Slicing de Listas Funciona da mesma forma que com strings. A indexação retorna o objeto em uma dada posição. O slicing retorna uma lista. Podemos usar indexação e slicing para mudar o conteúdo da lista. Alguns exemplos: Métodos de listas Dicionários Exemplo com dicionários Dicionários são endereçados por chave, não por posição. Podem ser vistos como uma coleção de pares chave:valor. São coleções não-ordenadas de objetos arbitrários. Tem tamanho variável e podem conter objetos de qualquer tipo, inclusive outros dicionários. São mutáveis como as listas. Sobre dicionários Operações sobre seqüências não funcionam (ex.: slice ) já que dicionários são mapeamentos e não seqüências. Dicionários têm um conjunto de chaves. Só pode haver um valor por chave. Atribuir um valor a uma nova chave adiciona uma nova entrada ao dicionário. As chaves podem ser qualquer tipo de objeto. Outros Objetos Tuplas: como listas, porém imutáveis. Arquivos: objetos com métodos para ler e escrever arquivos. Dicionários podem ser usados como records. Dicionários podem ser usados para armazenar matrizes esparsas.

Execução Condicional Laços While Um laço do tipo while continua enquanto a expressão no topo for verdadeira. A indentação determina a estrutura do bloco. É o único lugar onde o espaço em branco importa. A indentação ajuda na legibilidade do código. Expressões depois do if e elif podem ser de quase qualquer tipo. False, 0, [], (), funcionam como falso, o resto é verdadeiro. Laços For For é usado pra percorrer uma seqüência qualquer de objetos. Laços For Fazer alguma coisa com cada item de uma lista. O uso de range pode ser útil. Exemplo: Interseção Funções built-in, importadas e definidas pelo usuário Built-in Importadas Definidas pelo usuário

Definição de funções Exemplo Def cria um objeto do tipo função e dá um nome a ele. Return retorna um objeto a quem chamou a função. Variáveis locais Variáveis dentro de uma função são locais àquela função. Passagem de Parâmetros Objetos imutáveis são passados por valor. Passando parâmetros mutáveis map Números, strings e tuplas são imutáveis enquanto listas e dicionários são mutáveis. Objetos mutáveis são passados por referência.

Funções anônimas Número variável de parâmetros Parâmetros opcionais Múltiplos parâmetros opcionais Número arbitrário de parâmetros opcionais A notação ** recebe todos os parâmetros extra em um dicionário.