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

Salto condicional
Salto condicionalSalto condicional
Salto condicionalleslydavila
 
SDS - Software-defined Storage
SDS - Software-defined StorageSDS - Software-defined Storage
SDS - Software-defined StorageAviv Degani
 
Presentation1
Presentation1Presentation1
Presentation1anglam34
 
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 lookfanefootwear
 
Ceragon 15-0-11-L-TH
Ceragon 15-0-11-L-THCeragon 15-0-11-L-TH
Ceragon 15-0-11-L-THsavomir
 
EHS Phosphat Fertilize Plant
EHS Phosphat Fertilize PlantEHS Phosphat Fertilize Plant
EHS Phosphat Fertilize PlantAhmed Awad
 
Smita Dey (1)
Smita Dey (1)Smita Dey (1)
Smita Dey (1)smita dey
 
Tarde de verão marcia portella
Tarde de verão marcia portellaTarde de verão marcia portella
Tarde de verão marcia portellaLuzia Gabriele
 
test de inteligencias multiples
test de inteligencias multiplestest de inteligencias multiples
test de inteligencias multiplesbeernardoo
 
Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)
Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)
Pelaksanaan administrasi pendidikan (Mega Diah Puspitasari)Mega Diah Puspitasari
 

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

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 CLIAlessandro Binhara
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
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.pdfValter moreira
 
Fundamentos de Python
Fundamentos de PythonFundamentos de Python
Fundamentos de PythonJeff560813
 
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 DelphiMario Guedes
 
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 PHPDouglas V. Pasqua
 
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 webAlvaro Oliveira
 
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?Lennon Manchester
 
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 SulGlaucia Lemos
 
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)Marcelo Barros de Almeida
 
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 PythonFlávio Ribeiro
 
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Álvaro Justen
 
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 LuaSérgio Souza Costa
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 

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
 

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/