SlideShare uma empresa Scribd logo
O Canivete Suíço do Python




       Douglas Soares de Andrade
O Canivete Suíço do Python


      Conteúdo da Apresentação

     ●   Introdução
     ●   Sobre a palestra
     ●   O que é Python ?
     ●   Quem usa ?
     ●   Convenções utilizadas na palestra
     ●   Baterias inclusas
O Canivete Suíço do Python


      Introdução (Douglas)

     ●   Desenvolvedor na Dataprev
         ● Python

         ● Zope e Plone

         ● PHP (wordpress, drupal)



     ●   Participante de vários projetos de SL
         ● Archlinux (Desenvolvedor, TU, Mantenedor de pacotes)

         ● Web2py

         ● Plone Collective



     ●   Py (ops, pai) de três lindas crianças =)
O Canivete Suíço do Python


      E vocês ?

      ●   Quem já ouviu falar em Python ?
      ●   Alguém trabalha com desenvolvimento de sistemas ?

      ●   Alguém trabalha com Python ?

      ●   Alguém já viu algum código Python e pensou:
                       (pra não dizer outra coisa)



                  “Será que dá pra fazer
                       isso melhor ?!”
O Canivete Suíço do Python


      Sobre a palestra

     ●    Não é um mão-na-massa de Python


     ●    Não é uma batalha de pythonismos


     ●    Exemplos simples, concisos e didáticos


     ●    Baterias inclusas

      ●   Além de tudo, é uma palestra sobre...
O Canivete Suíço do Python




                             “Não perguntar o que
                             você pode fazer por
                             Python, mas sim o que
                             Python pode fazer por
                             você.”
O Canivete Suíço do Python


      O que é Python ?




      ●   Iniciada em 1990 por Guido Van Rossum no CWI para
      ser a linguagem de script do sistema operacional
      distribuído AMOEBA.
      ●    Inspirada pela linguagem ABC, criada também no
      CWI, que era uma linguagem de programação para
      usuários avançados em computação mas que não eram
      programadores.
      ●    Nome vem do grupo humorístico Monty Python, do
      qual Guido é fan
O Canivete Suíço do Python


      Muito prazer, meu nome é Python



      ●   Pode ser usada interativamente
      ●   Tipos de dados básicos poderosos
      ●   Baterias Inclusas
      ●   Software Livre
      ●   Os blocos são controlados por indentação
      ●   Tudo é objeto
      ●   É simples e transparente
      ●   Ajuda o programador
      ●   Comunidade de programadores
          apaixonados
O Canivete Suíço do Python


      Convenções utilizadas




       >>> Interpretador de Python
       ... Bloco lógico
       $    Indica que o comando foi executado em um shell
O Canivete Suíço do Python




                 Baterias Inclusas
                             (E algumas dicas legais)
O Canivete Suíço do Python


      Básico - Strings

      Adicionar zeros a uma string numérica:
O Canivete Suíço do Python


      Básico - Strings

      Trocar caracteres de um texto:
O Canivete Suíço do Python


      Básico - Strings

      Trocar caracteres de um texto:
O Canivete Suíço do Python


      Básico - Strings

      BONUS POINTS !!! Trocar caracteres de um texto:
O Canivete Suíço do Python


      Básico - Strings

      Substituições de textos maiores:
O Canivete Suíço do Python


      Básico - Strings

      Substituições de textos maiores:
O Canivete Suíço do Python


      Básico - Números

      Validar se um valor é numérico:
O Canivete Suíço do Python


      Básico - Números

      Frações:




   Divisão:                  BONUS POINTS !
O Canivete Suíço do Python


      Básico - Sets

      Retornar os valores únicos de uma lista de elementos:
O Canivete Suíço do Python


      Collections - Counter
      Container que mantém um controle de quantas vezes um elemento
      equivalente foi adicionado
O Canivete Suíço do Python


      Collections - Namedtuple
      Facilita o acesso a elementos de uma tupla, permitindo a atribuição de um
      nome para os atributos
O Canivete Suíço do Python

Collections
Namedtuple
O Canivete Suíço do Python


      Collections - ordereddict
      Dicionários que 'sabem' a ordem em que seus elementos foram inseridos
O Canivete Suíço do Python


      Collections - ordereddict
      Dicionários que 'sabem' a ordem em que seus elementos foram inseridos
O Canivete Suíço do Python


      Gerais
      Generator e Set expressions (dica de performance)
O Canivete Suíço do Python


      Gerais - Any

      Testar se ao menos um dos elementos satisfaz determinada condição
O Canivete Suíço do Python


Gerais - textwrap

Ajuda a manter a
sanidade de strings
com aspas triplas
O Canivete Suíço do Python


Gerais - textwrap

Ajuda a manter a
sanidade de strings
com aspas triplas
O Canivete Suíço do Python


                             Gerais - cmd

                             Processador de comandos simples
O Canivete Suíço do Python


      Gerais
    Servir arquivos de um diretório da máquina
O Canivete Suíço do Python


   Gerais
    Auto completar no terminal (sem ipython)
O Canivete Suíço do Python


    O que é interessante, mas fica pra próxima
    ●   Aspectos funcionais de Python
          ● map

          ● filter

          ● reduce

          ● lambda




    ● Outros módulos que vocês devem checar
        ● Itertools (Ferramentas para trabalhar com iteráveis)

        ● Functools (Ferramentas para trabalhar com funções para adapta-las ou extende-


          las)
        ● Documentação do comando set (tem muita coisa bacana lá)

        ● Serialização: json e cPickle

        ● pprint: Imprimir estruturas de dados de modo elegante

    ● Módulos e programas fora da stdlib que são sensacionais

        ● ipython

        ● bpython

        ● see

        ● ...
O Canivete Suíço do Python
O Canivete Suíço do Python




   Contato:

   Douglas Soares de Andrade
   Email : dsandrade@gmail.com
   Twitter: @douglasandrade
   Github: @dsarch




                             Muito Obrigado =)

Mais conteúdo relacionado

Mais procurados

Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
Elaine Cecília Gatto
 
Comandos em python
Comandos em pythonComandos em python
Comandos em python
Maria Silveira
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02
Ramon Kayo
 
Árvores Rubro Negra
Árvores Rubro NegraÁrvores Rubro Negra
Árvores Rubro Negra
Sérgio Souza Costa
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
Mauro Pereira
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
Claudio Stein Junior
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
Roberto Grande
 
Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01
Ramon Kayo
 
IBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datosIBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datos
Giovanny Guillen
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
Heverson Damasceno
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
Mateus Padua
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
thomasdacosta
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
Mario Sergio
 
Curso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQLCurso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQL
Curso em Vídeo - Cursos Grátis com Certificado
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com Tkinter
Marcos Castro
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
Elmano Cavalcanti
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
Mario Sergio
 
Escalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJSEscalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJS
Criciúma Dev
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
Daniel Brandão
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
Regis Magalhães
 

Mais procurados (20)

Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Comandos em python
Comandos em pythonComandos em python
Comandos em python
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02
 
Árvores Rubro Negra
Árvores Rubro NegraÁrvores Rubro Negra
Árvores Rubro Negra
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01
 
IBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datosIBM i - Manejo de archivos y datos
IBM i - Manejo de archivos y datos
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
Curso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQLCurso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQL
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com Tkinter
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
 
Escalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJSEscalando aplicações no front-end com ReactJS
Escalando aplicações no front-end com ReactJS
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 

Destaque

Introdução ao python
Introdução ao pythonIntrodução ao python
Introdução ao python
Maria Silveira
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
Humberto Diógenes
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
Luciano Ramalho
 
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
Carlos Schults
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
Osvaldo Santana Neto
 
Python 01
Python 01Python 01
Python 01
Bruno Catão
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
Juliano Atanazio
 
Introducao python 2010
Introducao python 2010Introducao python 2010
Introducao python 2010
Eduardo S. Pereira
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
Marco Mendes
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
Marco Mendes
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
Igor Sobreira
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
Rafael Cassau
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
FATEC São José dos Campos
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no Brasil
Marcel Caraciolo
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
Marcos Thomaz
 
Python no Celular
Python no CelularPython no Celular
Python no Celular
iuridiniz
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
Alvaro Oliveira
 
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
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
ricobl
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaque
Luciano Ramalho
 

Destaque (20)

Introdução ao python
Introdução ao pythonIntrodução ao python
Introdução ao python
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
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
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Python 01
Python 01Python 01
Python 01
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
 
Introducao python 2010
Introducao python 2010Introducao python 2010
Introducao python 2010
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Como Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no BrasilComo Python está mudando a forma de aprendizagem à distância no Brasil
Como Python está mudando a forma de aprendizagem à distância no Brasil
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Python no Celular
Python no CelularPython no Celular
Python no Celular
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
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)
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaque
 

Semelhante a Canivete suíço do Python

Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
Gleison Rodrigues
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
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
Flávio Ribeiro
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
Helio Loureiro
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
Luiz Aldabalde
 
Canivete python
Canivete pythonCanivete python
Canivete python
Anderson Dantas
 
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
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
Luiz Aldabalde
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
Joelmir Ribacki
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
Eric Hideki
 
Programação Python na Iot
Programação Python na IotProgramação Python na Iot
Programação Python na Iot
FabianoFrancaMoreira
 
Python
PythonPython
Python para Desenvolvedores
Python para DesenvolvedoresPython para Desenvolvedores
Python para Desenvolvedores
Wellington Oliveira
 
Python para devs
Python para devsPython para devs
Python para devs
Evaldo Junior
 
Por que python? fisl 14 - 2013
Por que python?   fisl 14 - 2013Por que python?   fisl 14 - 2013
Por que python? fisl 14 - 2013
Marco Mendes
 
Python for kids
Python for kidsPython for kids
Python for kids
Joffily Ferreira
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
Priscila Mayumi
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
Jonh Edson
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
Marcel Caraciolo
 

Semelhante a Canivete suíço do Python (20)

Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
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
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Programação Python na Iot
Programação Python na IotProgramação Python na Iot
Programação Python na Iot
 
Python
PythonPython
Python
 
Python para Desenvolvedores
Python para DesenvolvedoresPython para Desenvolvedores
Python para Desenvolvedores
 
Python para devs
Python para devsPython para devs
Python para devs
 
Por que python? fisl 14 - 2013
Por que python?   fisl 14 - 2013Por que python?   fisl 14 - 2013
Por que python? fisl 14 - 2013
 
Python for kids
Python for kidsPython for kids
Python for kids
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 

Último

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (6)

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Canivete suíço do Python

  • 1. O Canivete Suíço do Python Douglas Soares de Andrade
  • 2.
  • 3. O Canivete Suíço do Python Conteúdo da Apresentação ● Introdução ● Sobre a palestra ● O que é Python ? ● Quem usa ? ● Convenções utilizadas na palestra ● Baterias inclusas
  • 4. O Canivete Suíço do Python Introdução (Douglas) ● Desenvolvedor na Dataprev ● Python ● Zope e Plone ● PHP (wordpress, drupal) ● Participante de vários projetos de SL ● Archlinux (Desenvolvedor, TU, Mantenedor de pacotes) ● Web2py ● Plone Collective ● Py (ops, pai) de três lindas crianças =)
  • 5. O Canivete Suíço do Python E vocês ? ● Quem já ouviu falar em Python ? ● Alguém trabalha com desenvolvimento de sistemas ? ● Alguém trabalha com Python ? ● Alguém já viu algum código Python e pensou: (pra não dizer outra coisa) “Será que dá pra fazer isso melhor ?!”
  • 6. O Canivete Suíço do Python Sobre a palestra ● Não é um mão-na-massa de Python ● Não é uma batalha de pythonismos ● Exemplos simples, concisos e didáticos ● Baterias inclusas ● Além de tudo, é uma palestra sobre...
  • 7. O Canivete Suíço do Python “Não perguntar o que você pode fazer por Python, mas sim o que Python pode fazer por você.”
  • 8. O Canivete Suíço do Python O que é Python ? ● Iniciada em 1990 por Guido Van Rossum no CWI para ser a linguagem de script do sistema operacional distribuído AMOEBA. ● Inspirada pela linguagem ABC, criada também no CWI, que era uma linguagem de programação para usuários avançados em computação mas que não eram programadores. ● Nome vem do grupo humorístico Monty Python, do qual Guido é fan
  • 9. O Canivete Suíço do Python Muito prazer, meu nome é Python ● Pode ser usada interativamente ● Tipos de dados básicos poderosos ● Baterias Inclusas ● Software Livre ● Os blocos são controlados por indentação ● Tudo é objeto ● É simples e transparente ● Ajuda o programador ● Comunidade de programadores apaixonados
  • 10. O Canivete Suíço do Python Convenções utilizadas >>> Interpretador de Python ... Bloco lógico $ Indica que o comando foi executado em um shell
  • 11. O Canivete Suíço do Python Baterias Inclusas (E algumas dicas legais)
  • 12. O Canivete Suíço do Python Básico - Strings Adicionar zeros a uma string numérica:
  • 13. O Canivete Suíço do Python Básico - Strings Trocar caracteres de um texto:
  • 14. O Canivete Suíço do Python Básico - Strings Trocar caracteres de um texto:
  • 15. O Canivete Suíço do Python Básico - Strings BONUS POINTS !!! Trocar caracteres de um texto:
  • 16. O Canivete Suíço do Python Básico - Strings Substituições de textos maiores:
  • 17. O Canivete Suíço do Python Básico - Strings Substituições de textos maiores:
  • 18. O Canivete Suíço do Python Básico - Números Validar se um valor é numérico:
  • 19. O Canivete Suíço do Python Básico - Números Frações: Divisão: BONUS POINTS !
  • 20. O Canivete Suíço do Python Básico - Sets Retornar os valores únicos de uma lista de elementos:
  • 21. O Canivete Suíço do Python Collections - Counter Container que mantém um controle de quantas vezes um elemento equivalente foi adicionado
  • 22. O Canivete Suíço do Python Collections - Namedtuple Facilita o acesso a elementos de uma tupla, permitindo a atribuição de um nome para os atributos
  • 23. O Canivete Suíço do Python Collections Namedtuple
  • 24. O Canivete Suíço do Python Collections - ordereddict Dicionários que 'sabem' a ordem em que seus elementos foram inseridos
  • 25. O Canivete Suíço do Python Collections - ordereddict Dicionários que 'sabem' a ordem em que seus elementos foram inseridos
  • 26. O Canivete Suíço do Python Gerais Generator e Set expressions (dica de performance)
  • 27. O Canivete Suíço do Python Gerais - Any Testar se ao menos um dos elementos satisfaz determinada condição
  • 28. O Canivete Suíço do Python Gerais - textwrap Ajuda a manter a sanidade de strings com aspas triplas
  • 29. O Canivete Suíço do Python Gerais - textwrap Ajuda a manter a sanidade de strings com aspas triplas
  • 30. O Canivete Suíço do Python Gerais - cmd Processador de comandos simples
  • 31. O Canivete Suíço do Python Gerais Servir arquivos de um diretório da máquina
  • 32. O Canivete Suíço do Python Gerais Auto completar no terminal (sem ipython)
  • 33. O Canivete Suíço do Python O que é interessante, mas fica pra próxima ● Aspectos funcionais de Python ● map ● filter ● reduce ● lambda ● Outros módulos que vocês devem checar ● Itertools (Ferramentas para trabalhar com iteráveis) ● Functools (Ferramentas para trabalhar com funções para adapta-las ou extende- las) ● Documentação do comando set (tem muita coisa bacana lá) ● Serialização: json e cPickle ● pprint: Imprimir estruturas de dados de modo elegante ● Módulos e programas fora da stdlib que são sensacionais ● ipython ● bpython ● see ● ...
  • 34. O Canivete Suíço do Python
  • 35. O Canivete Suíço do Python Contato: Douglas Soares de Andrade Email : dsandrade@gmail.com Twitter: @douglasandrade Github: @dsarch Muito Obrigado =)