300 likes | 367 Views
Learn about Python characteristics, data types (numeric, strings, lists, tuples, dictionaries, booleans), control flow, and see code examples. Python is an interpreted, object-oriented programming language known for its simplicity and versatile applications.
E N D
Python Uma introdução Klaus Natorf Quelhas Novembro de 2009
Python • Introdução Características Tipos de dados Tipos numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • Criada por Guido van Rossum no final de 1989, no Instituto Nacional de Matemática e Ciência da Computação da Holanda (CWI); • Tinha como principal foco auxiliar físicos e engenheiros; • O nome é uma homenagem ao grupo humorístico britânico Monty Python, criador do programa Monty Python's Flying Circus; • Linguagem de programação livre, com desenvolvimento comunitário;
Python Introdução • Características Tipos de dados Tipos numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • É uma linguagem interpretada (com Perl, Shell script, etc) – Não é necessário compilar o programa; • Os arquivos fonte podem ser executados diretamente pelo interpretador, que os converte em byte codes (que são multiplataforma); • O Python pode ser executado diretamente no terminal: python (executa o python no modo interativo) python teste.py (executa o programa teste.py) • É ideal para ser usado como linguagem de scripts, automatizando tarefas; • É uma linguagem de aprendizado fácil, com sintaxe clara e concisa.
Python Introdução • Características Tipos de dados Tipos numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • É uma linguagem com tipagem forte, porém dinâmica; • Estrutura simples (não é necessário digitar ponto-e-vírgula ao final de cada linha de instruções – caso seja preciso continuar na linha seguinte pode-se fazer uso da barra invertida); • Também não é necessário abrir e fechar blocos de código com chaves, como o C, por exemplo; • A identificação de blocos é feita através de identação, Ex: (1) while x<100: (2) s=s+x (3) x=x+1 (4) print s
Python • É uma linguagem orientada a objetos; Tudo em python é objeto, até mesmo os inteiros. Desta forma, até os tipos mais básicos possuem métodos específicos; • Oferece ferramentas para: - Programação funcional; - Processamento de imagens; - Interface gráfica; - Processamento distribuído; - Integração com C e C#. Introdução • Características Tipos de dados Tipos numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python Introdução • Características Tipos de dados Tipos numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • Integração com outros programas como linguagem de script. • Blender: O Python permite acessar todas as estruturas do Blender (operações 3D, manipulação de materiais, texturas e ambientes de cenas); • BrOffice.org: Dá suporte ao Python como linguagem de Macro (automatiza determinadas tarefas);
Python Introdução Características • Tipos de dados • Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos Tipos numéricos: • inteiro (int): >>>a=10 • inteiro longo (long): >>>a=9999999999999 • ponto flutuante (float): >>>a=1.294 (ou ainda 12.94e-1) • complexo (complex): >>>a=1+2j
Python Introdução Características • Tipos de dados • Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • Operadores: + (Soma) - (Subtração) * (Multiplicação) / (Divisão) // (Divisão inteira) ** (Exponenciação) % (Resto de divisão inteira) • Métodos: a.real (Retorna a parte real do complexo a) a.imag (Retorna a parte imaginária do complexo a)
Python Introdução Características • Tipos de dados Numéricos • Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • Strings são constantes; • A indexação de seus caracteres é feita através de colchetes. Entretanto os caracteres da String não podem ser modificados; Exemplos: >>> st='UERJ' >>> print st[0] U >>> print st[-4] U >>> print st[-len(st)] U • Todos os exemplos acima retornam o último caractere da string st.
Python • Mais exemplos: >>> st='Departamento de Sistemas e Computacao' >>> print st[:15] Departamento de >>> print st[27:] Computacao >>> print st[:15],st[27:] Departamento de Computacao >>> print st[15:27] Sistemas e >>> print st[::-1] oacatupmoC e sametsiS ed otnematrapeD Introdução Características • Tipos de dados Numéricos • Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python Operações envolvendo strings: • Concatenação: >>> st='estou' >>> s=' em casa' >>> print st+s estou em casa >>> s='estou' ' em casa' >>> print s • Interpolação: >>> st='vida boa' >>> print “o comprimento de %s é %d” % (st,len(st)) o comprimento de vida boa é 8 • Uso da string como sequencia: >>> for c in s: ... print c ... U E R J Introdução Características • Tipos de dados Numéricos • Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python Introdução Características • Tipos de dados Numéricos • Strings Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • Repetição de strings: >>>3*'string' 'stringstringstrig‘ • Métodos: >>> s='UERJ' >>> print s.lower() #retorna a string com caracteres minúsculos uerj >>> if s.startswith('U'): #verifica se a string começa com 'U' ... print 'começa' ... começa >>> if s.endswith('J'): #verifica se a string termina com 'J' ... print 'termina' ... termina
Python • São coleções de objetos, que podem ser de qualquer tipo, até mesmo outras listas; • Os elementos da lista não precisam ser do mesmo tipo; • Os tratamento dado às listas é semelhante ao dado às strings. • Exemplos: >>> lista = ['ab','bc',3,45] >>> print lista[0] ab >>> print lista[3] 45 >>> a=lista[0]+lista[1] >>> print a abbc >>> num=lista[2]+lista[3] >>> print num 48 Introdução Características • Tipos de dados Numéricos Strings • Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python • O sistema de indexação é idêntico ao das strings. Da mesma forma, pode-se selecionar intervalos na lista. Exemplo: >>> lista = ['ab','bc',3,45] >>> print lista[:2] ['ab', 'bc'] >>> print lista[2:] [3, 45] >>> print lista[::-1] [45, 3, 'bc', 'ab'] • As operações de concatenação, enumeração e repetição das strings também são aplicáveis às listas. >>> lista = ['a','casa',456,44.5,23+5j] >>> lista2=[1,2,3,4] >>> lista3=lista+lista2 # concatenando as listas >>> print lista3 ['a', 'casa', 456, 44.5, (23+5j), 1, 2, 3, 4] Introdução Características • Tipos de dados Numéricos Strings • Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python >>> for c in lista: #usando a lista como uma sequencia • ... print c • ... • a • casa • 456 • 44.5 • (23+5j) • >>> print 3*lista2 # repetindo a lista • [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] • Ao concatenar uma string a uma lista, os caracteres da string são separados em elementos da lista. >>> lista=[1,2,3] >>> lista+='casa' >>> print lista [1, 2, 3, 'c', 'a', 's', 'a'] Introdução Características • Tipos de dados Numéricos Strings • Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python • Os elementos da lista podem ser alterados. Exemplo: >>> lista=[1,2,3] >>> lista[2]='elemento' >>> print lista [1, 2, 'elemento'] • Métodos úteis: >>> lista.append(8) #incluindo elemento >>> lista.remove(lista[1]) #removendo elemento a partir do índice >>> lista.remove(2) #removendo o elemento a partir da descrição do mesmo >>> lista.sort() #ordena a lista >>> lista.reverse() #inverte a lista • O uso do método pop() em conjunto com o método append() faz da lista uma pilha. Introdução Características • Tipos de dados Numéricos Strings • Listas Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python Introdução Características • Tipos de dados Numéricos Strings Listas • Tuplas Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos • Uma tupla é como uma lista, a mesma não pode ser alterada. Entretanto seus elementos podem ser mutáveis. Exemplo: >>> tupla=([1,2,3],'abc','de') >>> tupla[0].remove(2) >>> print tupla ([1, 3], 'abc', 'de') • O tratamento dado às tuplas no que se refere à indexação de seus elementos é idêntico ao dado às listas e strings.
Python • Dicionários são listas onde a indexação é feita por associação. É definida uma chave e aquela chave estará associada a um elemento do dicionário. Exemplo: >>> dic={'a':10,'b':20,'c':30} #declarando um dicionário >>> print dic['b'] #retornando um elemento através da chave 20 >>> dic['b']=56 #modificando um elemento através de sua chave >>> print dic {'a': 10, 'c': 30, 'b': 56} • As chaves do dicionário são imutáveis, porém os valores associados à chave são mutáveis. Não há garantia de que as chaves do dicionário estarão ordenadas. Introdução Características • Tipos de dados Numéricos Strings Listas Tuplas • Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python • Operações com dicionários: >>> dic={'a':10,'b':20,'c':30} #declarando o dicionário >>> dic['d']=40 #adicionando um novo elemento >>> del dic['b'] #removendo um elemento >>> print dic {'a': 10, 'c': 30, 'd': 40} • Métodos úteis com dicionários: >>> print dic.items() #retorna os itens do dicionário [('a', 10), ('c', 30), ('b', 20)] >>> print dic.keys() #retorna as chaves do dicionário ['a', 'c', 'b'] >>> print dic.values() #retorna os valores do dicionário [10, 30, 20] >>> print dic.keys()[1] #retorna uma chave do dicionário através de seu índice c Introdução Características • Tipos de dados Numéricos Strings Listas Tuplas • Dicionários Booleanos Conversão Controle de fluxo if for while Exemplos
Python Introdução Características • Tipos de dados Numéricos Strings Listas Tuplas Dicionários • Booleanos Conversão Controle de fluxo if for while Exemplos • O tipo booleano é uma implementação do tipo inteiro. • Ele pode assumir os valores True ou False. • São considerados como False: - False; - None (nulo); - 0 (zero); - “” (string vazia); - [] (lista vazia); - () (tupla vazia); - {} (dicionário vazio); - qualquer outra estrutura com tamanho zero.
Python Introdução Características • Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos • Conversão Controle de fluxo if for while Exemplos • Existem funções que são utilizadas para retornar uma variável convertida para um tipo específico. Exemplos: >>> x=25 >>> str(x) # retorna x convertido para string '25' >>> float(x) # retorna x convertido para float 25.0 >>> x='25' >>> int(x) # retorna x convertido para inteiro 25 >>> float(x) # retorna x convertido para float 25.0 >>>
Python Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão • Construções • if for while Exemplos • A construção if é utilizada para controle condicional e tem a seguinte sintaxe: if <condição>: <expressão 1> elif <condição 2>: <expressão 2> else: <expressão 3>
Python • Operadores lógicos: and - retorna verdadeiro caso todas as entradas forem verdadeiro; or - retorna verdadeiro caso uma das entradas for verdadeiro; not - se a entrada for verdadeira passará a falsa e vice-versa; is - retorna verdadeiro caso receba duas referências ao mesmo objeto (útil para comparar strings); in - retorna verdadeiro caso receba uma entrada que é encontrada uma ou mais vezes em uma lista. • Expressões condicionais: <variavel>=<valor1> if <condição> else <valor2> Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão • Construções • if for while Exemplos
Python Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão • Construções if • for while Exemplos • Utilizado para percorrer listas ,sequencias e processar iteradores. • Sintaxe: for <referência> in <sequencia>: <bolco de expressões> continue break else: <bolco de expressões>
Python Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão • Construções if • for while Exemplos • O laço não percorre somente sequencias estáticas, mas também sequencias geradas por iteradores. Exemplo: >>> lista=[1,2,3] >>> for i in lista: ... lista.append(len(lista)+1) ... print i ... if i>5:break ... 1 2 3 4 5 6
Python Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão • Construções if • for while Exemplos • A função range(m, n, p) define uma sequencia de inteiros iniciada em m, menor do que n (ou maior, depende da direção da sequencia), a um passo p (que pode ser negativo). Exemplo: >>> for i in range(1,10,2): ... print i ... 1 3 5 7 9
Python • É utilizada para realizar iterações condicionais, onde não se sabe o momento em que as iterações terminam. • Sintaxe: while<condição>: <bloco de expressões> continue break else: <bloco de expressões> • Exemplo: >>> a=0 >>> while a<5: ... print a ... a+=2 ... 0 2 4 Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão • Construções if for • while Exemplos
Python Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Construções if for while • Exemplos • Adivinhe o que este programa faz: >>>print 'Hello World!'
Python • O programa abaixo implementa a música “99 Bottles of Beer”: for quant in range(99, 0, -1): if quant > 1: print quant, "bottles of beer on the wall,", quant, "bottles of beer." if quant > 2: suffix = str(quant - 1) + " bottles of beer on the wall." else: suffix = "1 bottle of beer on the wall." elif quant == 1: print "1 bottle of beer on the wall, 1 bottle of beer." suffix = "no more beer on the wall!" print "Take one down, pass it around,", suffix print "--" Introdução Características Tipos de dados Numéricos Strings Listas Tuplas Dicionários Booleanos Conversão Construções if for while • Exemplos
Referências: [1] Curso de Python – Gustavo Noronha Silva, Fórum Mineiro de Software Livre [2] Python para desenvolvedores – Luis Eduardo Borges [3] Computação Gráfica em Python – Luis Eduardo Borges [4] Tutorial Python, Release 2.4.2 – Guido Van Rossum , Fred L. Drake, Jr. [5] Por que as pessoas usam... Python? - Emerson Henrique, Thiago Paiva, I Jornada de Iniciação Científica da ASPER - Ciências da Computação e Processamento de Dados