23
[draft 1.0] Introdução ao Python Lucas D'Avila @lucadavila - [email protected] SLCriciúma:)

Introdução ao Python

  • 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

Page 1: Introdução ao Python

[draft 1.0]

Introdução ao Python

Lucas D'Avila@lucadavila - [email protected]

SLCriciúma:)

Page 2: Introdução ao Python

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.

Page 3: Introdução ao Python

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

Page 4: Introdução ao Python

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.

Page 5: Introdução ao Python

Quem usa● Google (apps web)

● Yahoo (apps web)

● Nokia (celulares e PDAs)

● NASA

● Microsoft (IronPython: Python para .NET)

● Disney (animações 3D)

Page 6: Introdução ao Python

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

● ...

Page 7: Introdução ao Python

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)

Page 8: Introdução ao Python

Modo interativo● $ python

Page 9: Introdução ao Python

Interpretador● $ python arquivo_codigo_fonte.py

Page 10: Introdução ao Python

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'

Page 11: Introdução ao Python

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}

Page 12: Introdução ao Python

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'

Page 13: Introdução ao Python

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

Page 14: Introdução ao Python

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

Page 15: Introdução ao Python

Funçõesdef funcao(parametro_1, parametro_2 = valor_padrao):

"""Doc String

"""

<bloco de código>

return valor

Page 16: Introdução ao Python

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()

Page 17: Introdução ao Python

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()

Page 18: Introdução ao Python

Persistência de dados com xml e yaml

● #TODO ● #TODO

Page 19: Introdução ao Python

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 !'

Page 20: Introdução ao Python

OO● #TODO

Page 21: Introdução ao Python

Guia de estilo● #TODO

Page 22: Introdução ao Python

Continue estudando#TODO

● docs.python

● Comunidades

● Livros

● Treinamentos

Page 23: Introdução ao Python

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/