Python em (mais de) 10
     minutinhos
          Rudá Moura
       Setembro de 2009
Mantras
• Blocos de código são alinhados por
  espaços e/ou tabulações;
• Tudo em Python é um objeto;
• Variáveis referenc...
Tipos simples

• # Comentário
• Nulo/Nada (NoneType) – None
• Booleano (bool) – True, False
• Inteiros (int) – 0, -1, 3133...
Tipos compostos
• String (str) – ‘ola mundo!’, “assim”
• Unicode (unicode) – u‘Olá’, u“Rudá”
• Tupla (tuple) – (0, 0, 0), ...
Variáveis e Expressões
• p = True and False # or, not, p = False
• n = 1024 * 512 # + - / % **
• azul = (0x0, 0x0, 0xFF) #...
If…
if condição:
  comandos
else: # é opcional
  comandos              if x > 0:
                          print “positivo...
While/Do While
while condição:
 comandos

do:               soma = i = 0
                  while i < 10:
 comandos        ...
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 = [‘tes...
Funções & Métodos
def função(argumentos):
 ‘documentacao’
 # corpo da funcao
 return algo              def fatorial(n):
  ...
Classes
class Pessoa(object):
 ‘Modelagem de pessoa’
 def __init__(self, nome, idade):
   self.nome = nome
   self.idade =...
class Programador(Pessoa):
 ‘Modelagem de programador’
 elementos = 0 # atributo de classe
 def __init__(self, nome, idade...
Objetos
astro = Programador(‘Astrogildo Ferreira’, 30)
astro.primeiroNome() # Astrogildo
astro.linguagem # Python
nildo = ...
Programa passwd.py
#!/usr/bin/python
import sys
def username_of(login):

 passwd = open("/etc/passwd")

 lines = passwd.re...
# É o main() do Python…
if __name__ == "__main__":
   for arg in sys.argv[1:]:     # [“root”, “ruda”, “abc”]
     name = u...
Não vimos...
• Funções builtins len(), range(), int(), …
• Exceções (try/except/raise)
• Fatias (slices) x[0], x[-1], x[1:...
Consulte e aprenda
• Rudá Moura (estou ai né?)
• Python Brasil http://www.python.org.br/
• Python http://python.org/
• htt...
Upcoming SlideShare
Loading in …5
×

Python em (mais de) 10 minutinhos

1,134
-1

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,134
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
















  • 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×