Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python em (mais de) 10 minutinhos

1,423 views

Published on

Apresentação de introdução a linguagem Python, conceitos básicos e sintaxe.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Python em (mais de) 10 minutinhos

  1. 1. Python em (mais de) 10 minutinhos Rudá Moura Setembro de 2009
  2. 2. Mantras • Blocos de código são alinhados por espaços e/ou tabulações; • Tudo em Python é um objeto; • Variáveis referenciam a objetos; objetos têm tipos, mas variáveis não têm tipos; • Não há conversão automática de tipos. Tudo tem que ser explícito (convertido).
  3. 3. Tipos simples • # Comentário • Nulo/Nada (NoneType) – None • Booleano (bool) – True, False • Inteiros (int) – 0, -1, 313373, 17179869184 • Ponto flutuante (float) – 0.0, 3.1415926536
  4. 4. Tipos compostos • String (str) – ‘ola mundo!’, “assim” • Unicode (unicode) – u‘Olá’, u“Rudá” • Tupla (tuple) – (0, 0, 0), (255, 255, 255) • Lista (list) – [‘vermelho’, ‘verde’, ‘azul’] • Dicionário (dict) – {‘segunda’: 1, ‘terca’: 2, ‘quarta’: 3, ‘quinta’: 4, ‘sexta’: 5 }
  5. 5. Variáveis e Expressões • p = True and False # or, not, p = False • n = 1024 * 512 # + - / % ** • azul = (0x0, 0x0, 0xFF) # 0x hexadecimal • azul[2] # 255 • lst = [p, n, azul] • lst[-1][2] # 255 (azul[2]) • semana = {} ; semana[‘segunda’] = 1
  6. 6. If… if condição: comandos else: # é opcional comandos if x > 0: print “positivo” elif x < 0: # tipo um switch/case print “negativo” if condição: else: comandos print “zero” elif condição: comandos else: comandos
  7. 7. While/Do While while condição: comandos do: soma = i = 0 while i < 10: comandos soma += i while: i += 1 condição # soma é 45
  8. 8. For(each) for elemento in sequência: comando for x in range(10): print x # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 elems = [‘tesoura’, ‘papel’, ‘pedra’] for elem in elems: print elem # tesoura, papel e pedra
  9. 9. Funções & Métodos def função(argumentos): ‘documentacao’ # corpo da funcao return algo def fatorial(n): ‘fatorial de n recursivo’ def método(self, if n == 0: return 1 argumentos): else: return n * fatorial(n-1) ‘documentacao’ # corpo do método return algo
  10. 10. Classes class Pessoa(object): ‘Modelagem de pessoa’ def __init__(self, nome, idade): self.nome = nome self.idade = int(idade) def primeiroNome(self): ‘Retorna o primeiro nome da pessoa’ nome = self.nome.split() # corta espaços return nome[0] # 1º elemento da lista
  11. 11. class Programador(Pessoa): ‘Modelagem de programador’ elementos = 0 # atributo de classe def __init__(self, nome, idade, linguagem=‘Python’): Pessoa.__init__(self, nome, idade) self.linguagem = linguagem self.karma = 0 Programador.quantidade += 1 def aumentaKarma(self): self.karma += 1 def diminuiKarma(self): self.karma -= 1
  12. 12. Objetos astro = Programador(‘Astrogildo Ferreira’, 30) astro.primeiroNome() # Astrogildo astro.linguagem # Python nildo = Programador(‘Josenildo Moreira’, 21, ‘Erlang’) nildo.nome # Astrogildo Ferreira nildo.aumentaKarma() Programador.elementos # 2 nildo.editor = ‘Emacs’
  13. 13. Programa passwd.py #!/usr/bin/python import sys def username_of(login): passwd = open("/etc/passwd") lines = passwd.readlines() passwd.close() for line in lines: list = line.split(":”) # ['root','x', '0', '0', 'root', '/root', '/bin/bashn'] user, x, uid, gid, full_name, home, shell = list if login == user: return full_name return None
  14. 14. # É o main() do Python… if __name__ == "__main__": for arg in sys.argv[1:]: # [“root”, “ruda”, “abc”] name = username_of(arg) print 'O login "%s" pertence ao "%s"' % (arg, name) else: print 'O login "%s" nao existe!' % arg # python passwd.py ruda # Ruda Moura
  15. 15. Não vimos... • Funções builtins len(), range(), int(), … • Exceções (try/except/raise) • Fatias (slices) x[0], x[-1], x[1:], x[1,-1] • Decorators @foobar • List comprehension [x for x in range(10) if x % 2] # [1,3,5,7,9] • Biblioteca padrão (sys, os, urllib,…)
  16. 16. Consulte e aprenda • Rudá Moura (estou ai né?) • Python Brasil http://www.python.org.br/ • Python http://python.org/ • http://docs.python.org/tutorial/index.html • http://www.python.org.br/wiki/ TutorialPython

×