SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Python3 Patterns and Idioms
Ramiro Batista da Luz
Associação Python Brasil

3 de Outubro de 2013
Site ocial http://www.mindviewinc.com/Books/

Python3Patterns/Index.php
Criar conta em http://www.bitbucket.org
Fork (opcional) https://bitbucket.org/BruceEckel/
python-3-patterns-idioms/

Clone - hg clone
https://bitbucket.org/BruceEckel/python-3-patternsidioms
Se você criou um fork (Use o botão Clone para obter o
comando para clonar seu fork) - hg clone
https://ramiroluz@bitbucket.org/ramiroluz/python-3patterns-idioms
O livro é para quem já programa. Capítulo curto
introdutório.
Scripting vs. Programming.
Built-in containers.
Functions.
Strings.
Classes. (class, def, __init__, self, __name__,
herança.
Técnicas úteis. PythonForProgrammers/arguments.py,
PythonForProgrammers/utility.py e
PythonForProgrammers/compose.py
__new__() vs. __init__().
Initialization/new_vs_init.py
Atributos estáticos. Initialization/static.py
Clean Up. Initialization/cleanup.py
WeakRef. Initialization/weakref_clean.py
Escreva os testes primeiro.
Teste simples em python. code/SanityCheck.py
Um framework de testes muito simples.
UnitTesting/UnitTest.py
Escrevendo os testes. UnitTesting/UnitTest.py e
UnitTesting/TestDemo2.py
Testes White-Box e Black-Box. UnitTesting/Testable.py,
UnitTesting/TooMuchAccess.py,
UnitTesting/testable/Testable.py,
UnitTesting/BlackBoxTest.py
Rodando os testes. UnitTesting/RunUnitTests.py
História das macros.
Objetivos das macros.
o que pode ser feito com decorators?
PythonDecorators/entry_exit_function.py
Function decorators. PythonDecorators/my_decorator.py
Um pouco mais útil.
PythonDecorators/entry_exit_class.py
Usando funções como decorators.
PythonDecorators/entry_exit_function.py
Revisão: Decoradores sem argumentos.
PythonDecorators/decorator_without_arguments.py
Decorators com argumentos.
PythonDecorators/decorator_with_arguments.py
Iterators. Iterables/sum_rst_n_list.py,
Iterables/sum_rst_n_iterable.py
Generators. Iterables/gen.py e
sum_of_rst_n_generator.py
Itertools. Iterables/itertools_chain.py,
Iterables/itertools_izip.py, Iterables/itertools_islice.py
Compreensão de listas.
Compreensão aninhada.
Tecnicas.
Um exemplo mais complexo.
Compreensão de conjuntos.
Compreensão de dicionários.
O GIL
Multiprocessing. Concurrency/multiprocess_bar.py
Singleton pattern.
New singleton.
Borg singleton.
Class Variable singleton.
Singleton decorator.
Singleton MetaClass.
ProxyDemo.py
ProxyDemo2.py
StateDemo.py
StateMachine/State.py
StateMachine/StateMachine.py
StateMachine/mouse/MouseAction.py
StateMachine/mousetrap1/MouseTrapTest.py
StateMachine/mousetrap2/MouseTrap2Test.py
Decorator/nodecorators/CoeeShop.py
Decorator/alldecorators/EspressoDecorator.py
Decorator/alldecorators/CoeeShop.py
Decorator/compromise/CoeeShop.py
Util/TypedIterator.py
Factory/shapefact1/ShapeFactory1.py
Factory/shapefact1/NestedShapeFactory.py
Factory/shapefact2/ShapeFactory2.py
Factory/Games.py
Factory/Games2.py
FunctionObjects/CommandPattern.py
FunctionObjects/StrategyPattern.py
FunctionObjects/ChainOfResponsibility.py
http://www.mindviewinc.com/Books/

Thinking in Python
First Steps in Flex
Thinking in Java 4th Edition
Electronic book: Thinking in C++, Second Edition
(Volumes 1  2)
Thinking in C++, Volume 2: Practical Programming
Thinking in Patterns
ideia aqui

Revisão.
Tradução.
Revisão da Tradução.
Tânia, Rafahela, Cintia.
Patrocinadores.
Comunidade.

Weitere ähnliche Inhalte

Ähnlich wie Python 3, patterns and indioms

Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Django Tem Ritmo
Django Tem RitmoDjango Tem Ritmo
Django Tem Ritmoitalomaia
 
Python 3 e o futuro da linguagem
Python 3 e o futuro da linguagemPython 3 e o futuro da linguagem
Python 3 e o futuro da linguagemDanilo Martins
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul BagéComo se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul BagéJerônimo Medina Madruga
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxyFernando Ike
 
Novidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por aiNovidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por aiMarcos Petry
 
Python-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonPython-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonBruno Abinader
 
CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13William Colen
 
Aula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdfAula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdfAcauan Ribeiro
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
De javaparapython
De javaparapythonDe javaparapython
De javaparapythonTiago
 
Relatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digitalRelatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digitalGabriela Agustini
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termosValore I/O
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 

Ähnlich wie Python 3, patterns and indioms (20)

Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Django Tem Ritmo
Django Tem RitmoDjango Tem Ritmo
Django Tem Ritmo
 
Python 3 e o futuro da linguagem
Python 3 e o futuro da linguagemPython 3 e o futuro da linguagem
Python 3 e o futuro da linguagem
 
Curso python
Curso pythonCurso python
Curso python
 
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul BagéComo se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxy
 
Novidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por aiNovidades do Django 1.2 e o que vem por ai
Novidades do Django 1.2 e o que vem por ai
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
 
Python-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonPython-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o Cython
 
CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13
 
Aula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdfAula 02 - Análise de Dados - Introdução ao Python.pdf
Aula 02 - Análise de Dados - Introdução ao Python.pdf
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
De javaparapython
De javaparapythonDe javaparapython
De javaparapython
 
Relatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digitalRelatório de análise da plataforma cultura digital
Relatório de análise da plataforma cultura digital
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Curso python
Curso pythonCurso python
Curso python
 

Mehr von Ramiro Luz

Institutional Website - the longest project of my life
Institutional Website - the longest project of my lifeInstitutional Website - the longest project of my life
Institutional Website - the longest project of my lifeRamiro Luz
 
Plone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsPlone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsRamiro Luz
 
Portal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsPortal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsRamiro Luz
 
Para que serve o Python
Para que serve o PythonPara que serve o Python
Para que serve o PythonRamiro Luz
 
Minerando dados com Python
Minerando dados com PythonMinerando dados com Python
Minerando dados com PythonRamiro Luz
 
Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Ramiro Luz
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Ramiro Luz
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Ramiro Luz
 
Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Ramiro Luz
 
Criando testes com Plone
Criando testes com PloneCriando testes com Plone
Criando testes com PloneRamiro Luz
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Ramiro Luz
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Ramiro Luz
 
Dojo de Programação
Dojo de ProgramaçãoDojo de Programação
Dojo de ProgramaçãoRamiro Luz
 
Teaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleTeaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleRamiro Luz
 
Usando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDUsando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDRamiro Luz
 
Sabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonSabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonRamiro Luz
 
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Ramiro Luz
 
Apresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionApresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionRamiro Luz
 
python-agil-IVEnGitec
python-agil-IVEnGitecpython-agil-IVEnGitec
python-agil-IVEnGitecRamiro Luz
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++Ramiro Luz
 

Mehr von Ramiro Luz (20)

Institutional Website - the longest project of my life
Institutional Website - the longest project of my lifeInstitutional Website - the longest project of my life
Institutional Website - the longest project of my life
 
Plone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsPlone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizations
 
Portal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsPortal Modelo - Plone for Parliaments
Portal Modelo - Plone for Parliaments
 
Para que serve o Python
Para que serve o PythonPara que serve o Python
Para que serve o Python
 
Minerando dados com Python
Minerando dados com PythonMinerando dados com Python
Minerando dados com Python
 
Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
 
Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015
 
Criando testes com Plone
Criando testes com PloneCriando testes com Plone
Criando testes com Plone
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?
 
Dojo de Programação
Dojo de ProgramaçãoDojo de Programação
Dojo de Programação
 
Teaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleTeaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo Style
 
Usando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDUsando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDD
 
Sabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonSabores do desenvolvimento web com Python
Sabores do desenvolvimento web com Python
 
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
 
Apresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionApresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoption
 
python-agil-IVEnGitec
python-agil-IVEnGitecpython-agil-IVEnGitec
python-agil-IVEnGitec
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++
 

Python 3, patterns and indioms