Upload
lucas-d
View
1.122
Download
1
Embed Size (px)
DESCRIPTION
Apresentação utilizada no grupo de estudos sobre Python, que esta rolando na Faculdade Esucri (a apresentação esta sendo montada aos poucos :)
Citation preview
LicençaEste trabalho está licenciado sob uma Licença Creative Commons Atribuição- Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
Roteiro● História
● Quem usa
● Caracteristicas / Vantagens
● Instalação
● Modo interativo
● Interpretador
● Sintaxe básica
● Tipos de dados
● Controle de fluxo
● Laços
● Funções
● Modulos
● Arquivos
● Persistencia de dados com xml e yaml
● Excessoes
● Orientação a objetos
● Guia de estilo
História● Criada em 1990 por Guido Van Rossum, no Instituto Nacional de Pesquisa para Matemática e Ciência da Computação da Holanda (CWI).
● Tinha como foco usuários como físicos e engenheiros.
● Concebido a partir de outra linguagem existente na época, chamada ABC.
Quem usa● Google (apps web)
● Yahoo (apps web)
● Nokia (celulares e PDAs)
● NASA
● Microsoft (IronPython: Python para .NET)
● Disney (animações 3D)
Caracteristicas / Vantagens● Linguagem de altíssimo nível (Very High Level Language)
● Multiplataforma,
● Multiparadigma (Orientada a objetos, modular e funcional)
● Tipagem dinâmica e forte,
● Interpretada e interativa,
● Software livre :)
● Baterias incluídas (módulos prontos para uso)
● Sintaxe clara
● ...
Instalação● GNU / Linux (maioria vem instalado por padrão)
● Mac OS X (vem instalado por padrão)
● Windows (tem que instalar, disponivel em #TODO incluir link download oficial)
Modo interativo● $ python
Interpretador● $ python arquivo_codigo_fonte.py
Sintaxe básica● # Comentário
● Blocos de código são delimitados por endentação, a linha anterior ao bloco sempre termina em ':'
#exemplo de código utilizando endentação:
if 1 > 0:
print 'verdadeiro'
#veja sem uso de chaves somente endentação
else:
print 'falso'
Tipos de dados● Básicos:
● Inteiro 1,
● Ponto flutuante 1.2,
● Complexo 1.2 + 5.3j,
● String 'uma string'.
● Estruturas de alto nível:
● Listas [obj, 'a', (a,)],● Tuplas (1, [a]),● Dicionários {'chave': valor, 'nome':”Lucas D'Avila”, idade: 22}
Controle de fluxoif <condição>:
<bloco de código>
elif <condição>:
<bloco de código>
else:
<bloco de código>
if idade < 12:
print 'criança'
elif idade < 18:
print 'Adelescente'
else:
print 'Adulto'
Laços (loops)for <referência> in <sequência>:
<bloco de código>
continue
Break
–
For pessoa in pessoas:
if pessoa.eh_crianca:
Continue #vai para próxima iteração
elIf pessoa.eh_adulto():
Break #sai do laço
print 'Adolecente : %s'%pessoa.nome
Laços (loops) 2while <condição>:
<bloco de código>
Continue
break
else:
<bloco de código>
i = -1
While i < qtd_pessoas:
i += 1
if pessoas[i].eh_crianca:
Continue
elIf pessoas[i].eh_adulto():
Break
print pessoas[i].nome
Funçõesdef funcao(parametro_1, parametro_2 = valor_padrao):
"""Doc String
"""
<bloco de código>
return valor
Modulos● modulo.py
● from modulo import *
ou
● from modulo import Classe, classe_2
ou
● import modulo
ou
● import modulo.Classe
● print modulo.funcao(...)
● obj = modulo.Classe()
ou
● obj = Classe()
Arquivosopen('file', 'mode')
For l in open('f.txt', 'r').readlines():
print l
Ou
Open('f.txt', 'w').write('texto....')
Ou
f = open('f.txt', 'w')
f.write('texto.....')
f.close()
Persistência de dados com xml e yaml
● #TODO ● #TODO
Exceçõestry:
1 / 0
except:
Print 'Ops! Ocorreu um erro !'
Ou
try:
1 / 0
except ZeroDivisionError:
Print 'Ops! Não se pode dividir por zero !'
OO● #TODO
Guia de estilo● #TODO
Continue estudando#TODO
● docs.python
● Comunidades
● Livros
● Treinamentos
Créditos● Apresentação Turicas “Álvaro_Justen_-
_Palestra_Python_UBM.pdf”#TODO inserir link
● Livro Python para Desenvolvedores, disponivel em http://ark4n.wordpress.com/python/