Curso de Introdução ao desenvolvimento em Python.

Neste módulo o aluno aprenderá, através de exercícios práticos, como instalar e configurar um ambiente Python, como escrever, organizar, executar e distribuir programas desenvolvidos em Python.

Este módulo trata tanto do ecossistema Python em tópicos como sintaxe, boas práticas, organização de módulos e pacotes e também de temas de programação como uso de memória, profiling, estruturas de dados, condicionais, funções, decorators, orientação a objetos etc.

Ao final deste módulo o aluno saberá preparar um ambiente Python, utilizar os principais módulos da biblioteca padrão, instalar e gerenciar pacotes instalados, desenvolver um programa de terminal usando os principais recursos da linguagem e distribuir este programa através de um instalador e do Python Package Index.

Teremos ainda, uma introdução ao desenvolvimento web com Python onde o aluno conhecerá o funcionamento do padrão WSGI e será apresentado a um overview dos principais frameworks em Python.

 

Conteúdo Programático

 

1 - Python: Apresentação, ambiente e ecossistema

  • O que é, quando foi criado, qual o objetivo, plataformas suportadas, versões.

2 - Instalação, configuração e ferramentas de desenvolvimento

  • Instalação do Python e configuração do PATH
  • Terminais, editores e IDEs

3 - Interpretador Python

  • Opções de inicialização
  • Interagindo com o terminal padrão e com o Ipython
  • Executando módulos diretamente no shell
  • Exemplos de como subir um servidor SMTP ou HTTP em uma linha de código

4 - A diferença entre script, programa, módulo, pacote, biblioteca

  • Estrutura básica de um script e boas práticas

5 - Variáveis, identificadores, escopo e uso de memória

  • Objetos, instâncias e referências.
  • Como Python gerencia a memória.
  • Cuidados comuns com escopo e nomenclatura.

6 - Tipos de dados básicos

  • Númericos, booleanos, textos
  • Coercing
  • Checagem de instâncias

7 - Operadores e operações

  • Operadores matématicos básicos
  • Operações com numeros
  • Operações com textos
  • Formatação de textos

8 - Input e output

  • Lendo entradas do usuário e validando
  • Lendo arquivos de texto e binários
  • Escrevendo no terminal
  • Escrevendo em arquivos de texto

9 - Seu primeiro script Python

  • Criar um software de gestao de tarefas (to-do) lendo inputs do usuario e armazenando as tarefas em um arquivo de texto

10 - Indentação e PEP8

  • Melhores práticas no desenvolvimento com Python

11 - Estrutura condicional if.. else.. elif…

  • Programação interativa com if.. else.. elif

12 - Estruturas de dados

  • Sequencias, Listas, Tuplas, Dicionários e Sets

13 - Iteravéis, Iteradores e loops

  • Iterando as estruturas de dados e criando loops
  • Operações com sequencias de dados
  • Slicing, Sort, Map, Reduce, reverse, zip etc..

14 - Tratamento de erros

  • Uso de try: except para capturar erros

15 - Funções

  • Escopo, diferentes tipos de passagem de argumentos

16 - Criando e utilizando módulos e pacotes

  • Como estruturar um programa em pacotes e módulos
  • Meios de importação de modulos e objetos
  • Evitando problemas de imports ciclicos

17 - Builtins e a biblioteca padrão

  • Funções builtin (sum, max, dir, help, map, reduce etc)
  • Principais recursos da bilbioteca padrão (datetime etc..)
  • Onde ficam instalados os módulos

18 - Instalando módulos da PyPI

  • Pip e easy_intall para instalar pacotes da Python Package Index

19 - Melhorando seu software de todo list

  • Implementando listagem e busca de tarefas
  • gravando e lendo no formato JSON

20 - Comprehensions

  • List, Sets e Dict comprehensions

21 - Classes e métodos

  • Quando usar classes?
  • Criando seus proprios tipos de dados
  • Tipos de métodos
  • Herança e herança multipla
  • O que são métodos __dunder__
  • Encapsulamento com properties

22 - Home work

  • Convertendo seu programa todo list para orientado a objetos

23 - Diferenças entre Python 2.x e Python 3.x

24 - Um overview do desenvolvimento com Python para Desktops e mobile

  • Frameworks
  • Como criar executaveis
  • Um exemplo básico com Tkinter

25 - Um overview do desenvolvimento web com Python

  • WSGI
  • Um exemplo básico de app com wsgi puro
  • Overview dos principais web frameworks

 

Instrutores

Bruno Rocha

Desenvolvedor web YACOWS
Programador Python com experiência em desenvolvimento web com os frameworks Django, Flask e web2py.

Autor do livro "web2py development cookbook", membro da Python Software Foundation, colaborador emalguns projetos open source como Opps CMS, web2py framework e Quokka CMS.

Thiago Avelino

Engenheiro de software YACOWS
Engenheiro de software na YACOWS e programador Python com grande experiência em Django, membro da Django Foundation e do time de desenvolvimento do Django.

Colaborador em alguns projetos open source como Opps CMS, Django, MongoEngine etc.


                            

Carga Horária:

16Hrs.

Pré-requisitos

  • Cada aluno deverá trazer seu próprio notebook;
  • Obrigatório ter cursado o treinamento intermediário e/ou possuir conhecimentos equivalentes.

Investimento

  • Presencial: R$ 999,99
  • On-Line:     R$ 699,99

Calendário

Consulte nossa próxima turma: contato@yacows.com.br