SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
[draft 1.0]
Introdução ao Python
Lucas D'Avila
@lucadavila - lucassdvl@gmail.com
SLCriciúma:)
Licença
Este 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 fluxo
if <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) 2
while <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ções
def 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()
Arquivos
open('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ções
try:
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/

Mais conteúdo relacionado

Destaque (20)

Anbefaling BSL
Anbefaling BSLAnbefaling BSL
Anbefaling BSL
 
Salto condicional
Salto condicionalSalto condicional
Salto condicional
 
lor antonio1
lor antonio1lor antonio1
lor antonio1
 
Reference letter
Reference letterReference letter
Reference letter
 
SDS - Software-defined Storage
SDS - Software-defined StorageSDS - Software-defined Storage
SDS - Software-defined Storage
 
Presentation1
Presentation1Presentation1
Presentation1
 
Wear casual shoes to get dignified and professional look
Wear casual shoes to get dignified and professional lookWear casual shoes to get dignified and professional look
Wear casual shoes to get dignified and professional look
 
Ceragon 15-0-11-L-TH
Ceragon 15-0-11-L-THCeragon 15-0-11-L-TH
Ceragon 15-0-11-L-TH
 
Israel o la iglesia?
Israel o la iglesia?Israel o la iglesia?
Israel o la iglesia?
 
Prueba de cómo se ven las diapositivas
Prueba de cómo se ven las diapositivasPrueba de cómo se ven las diapositivas
Prueba de cómo se ven las diapositivas
 
Audición 3
Audición 3Audición 3
Audición 3
 
EHS Phosphat Fertilize Plant
EHS Phosphat Fertilize PlantEHS Phosphat Fertilize Plant
EHS Phosphat Fertilize Plant
 
Smita Dey (1)
Smita Dey (1)Smita Dey (1)
Smita Dey (1)
 
Parasha 24 vayikra
Parasha 24 vayikraParasha 24 vayikra
Parasha 24 vayikra
 
Tarde de verão marcia portella
Tarde de verão marcia portellaTarde de verão marcia portella
Tarde de verão marcia portella
 
Mada's New logo
Mada's New logoMada's New logo
Mada's New logo
 
1 amctc
1 amctc1 amctc
1 amctc
 
test de inteligencias multiples
test de inteligencias multiplestest de inteligencias multiples
test de inteligencias multiples
 
Certificate Steigenberger
Certificate SteigenbergerCertificate Steigenberger
Certificate Steigenberger
 
Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)
Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)
Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)
 

Semelhante a Introdução ao Python

Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
Sérgio Souza Costa
 

Semelhante a Introdução ao Python (20)

Linguagem Boo: A wrist friendly language for CLI
Linguagem Boo: A wrist friendly language for CLILinguagem Boo: A wrist friendly language for CLI
Linguagem Boo: A wrist friendly language for CLI
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
 
Fundamentos de Python
Fundamentos de PythonFundamentos de Python
Fundamentos de Python
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
Semanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantesSemanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantes
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do Sul
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 
A Arte do Código Limpo
A Arte do Código LimpoA Arte do Código Limpo
A Arte do Código Limpo
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 

Último

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Introdução ao Python

  • 1. [draft 1.0] Introdução ao Python Lucas D'Avila @lucadavila - lucassdvl@gmail.com SLCriciúma:)
  • 2. Licença Este 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.
  • 3. 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
  • 4. 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.
  • 5. Quem usa ● Google (apps web) ● Yahoo (apps web) ● Nokia (celulares e PDAs) ● NASA ● Microsoft (IronPython: Python para .NET) ● Disney (animações 3D)
  • 6. 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 ● ...
  • 7. 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)
  • 9. Interpretador ● $ python arquivo_codigo_fonte.py
  • 10. 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'
  • 11. 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}
  • 12. Controle de fluxo if <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'
  • 13. 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
  • 14. Laços (loops) 2 while <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
  • 15. Funções def funcao(parametro_1, parametro_2 = valor_padrao): """Doc String """ <bloco de código> return valor
  • 16. 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()
  • 17. Arquivos open('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()
  • 18. Persistência de dados com xml e yaml ● #TODO ● #TODO
  • 19. Exceções try: 1 / 0 except: Print 'Ops! Ocorreu um erro !' Ou try: 1 / 0 except ZeroDivisionError: Print 'Ops! Não se pode dividir por zero !'
  • 22. Continue estudando #TODO ● docs.python ● Comunidades ● Livros ● Treinamentos
  • 23. 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/