SlideShare una empresa de Scribd logo
1 de 16
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 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).
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
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 }
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
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
While/Do While
while condição:
 comandos

do:               soma = i = 0
                  while i < 10:
 comandos           soma += i
while:              i += 1
 condição         # soma é 45
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
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
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
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
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’
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
# É 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
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,…)
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

Más contenido relacionado

La actualidad más candente

Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsLeonardo Melo Santos
 
Criando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDKCriando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDKLeonardo Dalmina
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Apresentação sobre a linguagem lua
Apresentação sobre a linguagem luaApresentação sobre a linguagem lua
Apresentação sobre a linguagem luaRafael Sanches
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUACândido Sales Gomes
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxeFlapenta
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETLeonardo Melo Santos
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etcLuciano Ramalho
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Aula actionscript basico
Aula actionscript basicoAula actionscript basico
Aula actionscript basicoWemerson Silva
 
Javascript The good, bad and ugly parts
Javascript The good, bad and ugly partsJavascript The good, bad and ugly parts
Javascript The good, bad and ugly partsFabian Carlos
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 

La actualidad más candente (20)

Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e StringsCurso de OO com C# - Parte 04 - Estruturas de controle e Strings
Curso de OO com C# - Parte 04 - Estruturas de controle e Strings
 
Criando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDKCriando Jogos 2D com Lua + Corona SDK
Criando Jogos 2D com Lua + Corona SDK
 
Linguagem lua
Linguagem luaLinguagem lua
Linguagem lua
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Apresentação sobre a linguagem lua
Apresentação sobre a linguagem luaApresentação sobre a linguagem lua
Apresentação sobre a linguagem lua
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
5.II SACIC - 2010 - Desenvolvimento de Aplicações para TVDigital com NCLUA
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Introdução a Python
Introdução a PythonIntrodução a Python
Introdução a Python
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxe
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NET
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Javascript
JavascriptJavascript
Javascript
 
Aula actionscript basico
Aula actionscript basicoAula actionscript basico
Aula actionscript basico
 
Javascript The good, bad and ugly parts
Javascript The good, bad and ugly partsJavascript The good, bad and ugly parts
Javascript The good, bad and ugly parts
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 

Destacado

Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Rudá Moura
 
Criação de ambientes em chroot
Criação de ambientes em chrootCriação de ambientes em chroot
Criação de ambientes em chrootRudá Moura
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Pythonantonio sérgio nogueira
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Destacado (7)

Pylibmc
PylibmcPylibmc
Pylibmc
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Criação de ambientes em chroot
Criação de ambientes em chrootCriação de ambientes em chroot
Criação de ambientes em chroot
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar a Python em (mais de) 10 minutinhos

Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em PythonRicardo Paiva
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Marco Mendes
 
Bogosort e Técnicas Realmente Avançadas de Programação
Bogosort e Técnicas Realmente Avançadas de ProgramaçãoBogosort e Técnicas Realmente Avançadas de Programação
Bogosort e Técnicas Realmente Avançadas de ProgramaçãoRodolpho Eckhardt
 
Introdução à Linguagem de programação Python
Introdução à Linguagem de programação PythonIntrodução à Linguagem de programação Python
Introdução à Linguagem de programação Pythondmmartins
 
Palestra python
Palestra pythonPalestra python
Palestra pythonRony Cruch
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Turbinando o desenvolvimento Android com Kotlin
Turbinando o desenvolvimento Android com KotlinTurbinando o desenvolvimento Android com Kotlin
Turbinando o desenvolvimento Android com KotlinNelson Glauber Leal
 
Web Scraping com F Sharp
Web Scraping com F SharpWeb Scraping com F Sharp
Web Scraping com F SharpPOANETMeetup
 

Similar a Python em (mais de) 10 minutinhos (20)

Standard ML / CPN ML
Standard ML / CPN MLStandard ML / CPN ML
Standard ML / CPN ML
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em Python
 
Unidade7 1
Unidade7 1Unidade7 1
Unidade7 1
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Python 02
Python 02Python 02
Python 02
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Python
PythonPython
Python
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Haskell
HaskellHaskell
Haskell
 
Bogosort e Técnicas Realmente Avançadas de Programação
Bogosort e Técnicas Realmente Avançadas de ProgramaçãoBogosort e Técnicas Realmente Avançadas de Programação
Bogosort e Técnicas Realmente Avançadas de Programação
 
Python Class
Python ClassPython Class
Python Class
 
Introdução à Linguagem de programação Python
Introdução à Linguagem de programação PythonIntrodução à Linguagem de programação Python
Introdução à Linguagem de programação Python
 
Palestra python
Palestra pythonPalestra python
Palestra python
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Aula python
Aula pythonAula python
Aula python
 
Turbinando o desenvolvimento Android com Kotlin
Turbinando o desenvolvimento Android com KotlinTurbinando o desenvolvimento Android com Kotlin
Turbinando o desenvolvimento Android com Kotlin
 
Fundamentos de C#
Fundamentos de C#Fundamentos de C#
Fundamentos de C#
 
Web Scraping com F Sharp
Web Scraping com F SharpWeb Scraping com F Sharp
Web Scraping com F Sharp
 

Python em (mais de) 10 minutinhos

  • 1. Python em (mais de) 10 minutinhos Rudá Moura Setembro de 2009
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. # É 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. 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. 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

Notas del editor