Treinamento em Python
Ricardo Brito do Nascimento (http://brito.blog.incolume.com.br)
- Apresentar,
- aprimorar as habilidades de desenvolvimento; e
- aprimorar técnicas da linguagem Python.
Vontade de aprender, desejo de pesquisar, noções básicas de informática e operação do sistema operacional por linha de comando.
Desenvolvedores, administradores de sistemas, programadores e interessados em geral.
120 horas
Este treinamento se divide em etapas sequênciais, de conhecimento cumulativo para aperfeiçoar e aprimorar as habilidades de desenvolvimento e técnicas da linguagem.
O treinamento consite na metodologia TDD - Test Driven Development, ou em português Desenvolvimento Orientado por Testes.
Os testes deste treinamento foram implementados em doctest, unittest e os mais recentes em pytest. Os resutados dos testes indicarão se o objetivo foi atendido, ou não.
Ao terminar o desenvolvimento dos testes, o resultado deverá ser similar ao apresentado abaixo:
$ nosetests tests/*
...........................................................
----------------------------------------------------------------------
Ran 59 tests in 8.072s
OK
Se o resultado for similar ao apresentado, Meus parabéns!! Você concluiu o curso com sucesso!!
incolumepy_tdd version | status | python version | requisitos |
---|---|---|---|
2.8.0 | 3.8, 3.9, 3.10 | cliente git, poetry, tox | |
2.7.0 | 3.7, 3.8, 3.9 | cliente git, poetry, tox | |
2.6.1 | obsoleto | 3.7, 3.8, 3.9 | cliente git, poetry, tox |
2.5.0 | descontinuado | 3.7, 3.8, 3.9 | cliente git, pipenv, poetry, tox |
2.4.0 | descontinuado | 3.6, 3.7, 3.8 | cliente git, pipenv, tox |
2.3.0 | descontinuado | 3.6, 3.7, 3.8 | cliente git, pipenv, tox |
2.2.0 | descontinuado | 3.6, 3.7, 3.8 | cliente git, pipenv, tox |
2.1.0 | descontinuado | 3.6 | cliente git, pipenv |
2.0.0 | descontinuado | 3.6 | cliente git, virtualenv, nosetests |
1.0.0 | descontinuado | 3.6 | cliente git, virtualenv |
0.1.0 | descontinuado | 3.6 | Estrutura inicial |
Para melhor aproveitamento do ambiente de desenvolvimento sugiro a utilização do Pyenv e Pipenv/poetry. Detalhes em:
Usuários Linux: http://brito.blog.incolume.com.br/2019/11/python-ambientes-virtuais-com-pyenv.html
Usuários Windows: https://brito.blog.incolume.com.br/2020/11/python-ambientes-virtuais-com-pyenv-win.html
Outra ferramenta útil será o git, detalhes em http://brito.blog.incolume.com.br/2013/03/guia-rapido-de-comandos-git-lado-usuario.html
git clone --depth 1 https://gitlab.com/development-incolume/treinamentos/incolumepy_tdd.git -b 2.2.1; ou
git clone --depth 1 git@gitlab.com:development-incolume/treinamentos/incolumepy_tdd.git -b 2.2.1
Observação: em -b será a tag mais rescente ou a indicada pelo professor.
- pipenv
cd incolumepy_tdd
pipenv --python 3.7
pipenv install -d
ou
- poetry
cd incolumepy_tdd
poetry env use 3.7
poetry install
-
Criação de modulo; Tratamento de Exceções; Personalização de mensagem de exceções;
-
Criação de módulos em classe; classes em python; Tratamento de Exceções; Personalização de mensagens de exceções;
-
Classes; atributos estáticos; manipulação de datas; estruturas de dados (listas), slice em lista e string; Calculos em floats; manipulação de atributos privados; property/setter
-
Interface em python; metodos NotImplementedError; property/setter
-
Herança
-
Herança
-
Herança
-
Herança
-
Metodos abstratos e Classe abstrata
-
Personalização de exceções por tipo
-
Clousures
-
Decoradores
-
Meta programação em Classe Python
-
Fatoração de código agregando funcionalidades
-
Fatoração de código com mudança de código sem perder funcionalidades
-
Recursividade
-
Fatoração para recursividade
-
Properties com bloqueio de escrita; raspagem HTML com BeautifulSoup;
-
Iteração com servidor python http.server; e utilização do selenium;
-
Utilização request; tratamento de HTML via python;
-
Validação de dados com expressões regulares;
-
Fatoração Employer
-
Manibpulação com CSV e Fatoração de classe com herança;
-
Calculos de Hashes
-
Conversão de cores rgb para hexadecimal;
-
Decodificador Morse
-
Gerador de senhas
-
Manipulação de arquivos
-
Permissões no Sistemas de Arquivos Nativo (Linux, Unix, MacOS, Windows, e outros)
-
Menu em terminal
Para testar cada etapa individualmente utilize o comando abaixo, para cada arquivo de teste unitário:
nosetests tests/03_employers_tests.py
...........
----------------------------------------------------------------------
Ran 11 tests in 0.006s
OK