Minicurso Python

1.902 visualizações

Publicada em

Básico do básico do Python, sem nem entrar em orientação a objetos.

A imagem sobre slices foi extraída do livro "Python para Desenvolvedores", que pode ser obtido aqui:

http://ark4n.wordpress.com/python/

Alguns exemplos também foram retirados desse livro, outros do tutorial oficial de Python.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.902
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
76
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Minicurso Python

  1. 1. A linguagem Python Simplicidade multiparadigma
  2. 2. Quem sou eu?  Ygor Mutti (aka Mamutti)  Técnico em desenvolvimento de software  Aluno de Ciências da Computação na UFBA  Estudo tecnologias livres  Blog  http://icaju.com  Contato:  ygor@icaju.com  @Mamutti
  3. 3. Introdução  Guido Van Rossum, o BDFL  Monty Python's Flying Circus  import this  Interpretada (bytecode)  Modo interativo  Tipagem dinâmica e forte  Plataformas  Web  Desktop  Mobile
  4. 4. Introdução  Batteries included  PYPI  Tudo é objeto  Multiparadigma  Procedural  Funcional  Sintaxe clara e concisa  Auto-documentada  Intermezzo
  5. 5. Sintaxe  Chaves? Pra quê?  Mesma indentação = mesmo bloco  Mantenha o padrão!  Comentários  Docstrings: ''' ''' ou ””” ”””  Pydoc  help()  Linha: #  #!/usr/bin/python  # -*- coding: utf-8 -*-  Case sensitive
  6. 6. Hello World! - Exercício  Objetivos (K&R)  Criar o código em algum lugar  Executá-lo  Ver para onde sua resposta foi  Código: print 'Hello World!'
  7. 7. Controle de fluxo  if if condicao: bloco_de_codigo elif condicao: bloco_de_codigo elif condicao: bloco_de_codigo else: bloco_de_codigo if condicao: comando variavel = valor1 if condicao else valor2
  8. 8. Controle de fluxo  break  continue  while while condicao: bloco_de_codigo continue break else: bloco_de_codigo
  9. 9. Controle de fluxo  for for referencia in sequencia: bloco_de_codigo continue break else: bloco_de_codigo # Para o for à moda antiga usamos range(), que gera uma # sequência for referencia in range(inicio, fim, passo) bloco_de_codigo continue break else: bloco_de_codigo
  10. 10. Operadores  Atribuição: =  a, b = b, a  Lógicos (curto-circuito)  and  or  not  Identidade:  (not) is  Pertencimento  (not) in
  11. 11. Operadores  Igualdade  ==  != ou <>  Comparação  <  >  <=  >=  X<Y<Z
  12. 12. Operadores  Genéricos  +  -  *  **  /  //  %  Suplementados
  13. 13. Operadores  Slices
  14. 14. Fibonacci – Exercício  Imprima os 10 primeiros termos da série  Use conceitos novos vistos em Python  Quanto mais simples, melhor  Compare o tamanho e a legibilidade do código com outras linguagens
  15. 15. Resposta a, b = 0, 1 for i in range(10): print b a, b = b, a + b
  16. 16. Primos – Exercício  Imprima os números primos no intervalo fechado de 2 a 20  Se o número não for primo, mostre quais números podem ser multiplicados para obtê-lo  Dica: use o else e o break do laço for
  17. 17. Resposta for n in range(2, 21): for div in range(2, n): if n % div == 0: print n, ' = ', n / div, ' * ', div break else: print n, 'é primo.'
  18. 18. Tipos embutidos  Numéricos (int, long, float, complex)  Strings (str, unicode)  Coleções (list, tuple, dict, set, frozenset)  Lógicos (bool, int, None, vazio, cheio)  Nulo (NoneType)  Arquivos (file)  Observação  Tipos mutáveis: passagem por referência  Tipos imutáveis: passagem por valor
  19. 19. Funções  def # Declarando def funcao(): '''Aqui descrevemos o que a função faz.''' pass return valor # opcional # Chamando funcao()
  20. 20. Funções  Parâmetros  Não existe sobrecarga de assinaturas  Tipos de parâmetros:  Simples (obrigatórios)  Com valor default (opcionais)  Lista de argumentos  Dicionario de argumentos  Namespace próprio  Ofusca variáveis globais  Global  Funções embutidas
  21. 21. Fatorial – Exercício  Crie uma função fat recursiva que calcule o fatorial de um inteiro  Documente-a usando uma docstring  Execute help(fat) e observe o resultado
  22. 22. Resposta def fat(inteiro): '''Retorna o fatorial de um número inteiro.” if inteiro == 1: return 1 else: return inteiro * fat(inteiro - 1)
  23. 23. Documentação  Baseada nos docstrings  help()  PyDoc  pydoc modulo.py  pydoc -p 8000  pydoc -g  Manual de referência
  24. 24. Módulos  import, from, as, * # Usos mais comuns import modulo_ou_pacote import pacote.modulo # Importando um módulo específico dentro de um pacote from pacote import modulo # Importando tudo (__all__) do pacote para o namespace atual from pacote import * # Alias de importações import modulo_ou_pacote as alias from pacote import modulo as alias
  25. 25. Pacotes  Pastas com módulos  Facilitam a organização  __init__.py  Pode ser um arquivo vazio  Pode conter código de inicialização  Define quais módulos são importados com *
  26. 26. Biblioteca padrão  Mais tipos (decimal, csv, datetime)  Extensão dos tipos embutidos (string)  Funções do interpretador (sys)  Acesso ao sistema operacional (os)  Expressões regulares (re)  Persistência (anydbm, pickle, sqlite3, API)  GUI (TkInter)  Threads (thread, threading, etc)  E muito mais!

×