Ao aprender programação, temos diferentes formas de se resolver um problema, segundo métodos e conceitos que podem ser mais ou menos adequados, de acordo como o problema que se tenta resolver. São os chamados paradigmas de programação. A linguagem Python, sendo multiparadigma, oferece uma gama de possibilidades para o desenvolvedor, mostrando-se versátil para guiá-lo por uma trilha completa de conhecimento.
Neste livro, Eduardo Pereira apresenta tópicos de programação em Python que vão do básico ao avançado. Você verá desde estrutura de dados, funções e decoradores e criará um Jogo da Velha seguindo o paradigma de Programação Estruturada, aprimorando-o com Orientação a Objetos. Em seguida, são abordados tópicos mais avançados da linguagem, como compreensões e geradores, que são fundamentais para a Programação Funcional em Python. Por último, você aplicará o conhecimento de programação Python para o desenvolvimento Web, criando uma aplicação de streaming de música, com o framework Flask, juntamente com uma Database Abstraction Layer (Py DAL) para a integração da aplicação com banco de dados.
قائمة المحتويات
Parte 1 – Python
1 Introdução
2 A linguagem Python
2.1 Configurando o ambiente de trabalho
2.2 Comentários e variáveis
2.3 Palavras reservadas e tipos primitivos
2.4 Operadores matemáticos e lógicos
2.5 Estruturas condicionais e loops
2.6 Funções
2.7 Os argumentos args e kwargs
2.8 Decoradores
2.9 Tratamento de exceções
2.10 Conclusão
3 Aprendendo na prática: criando jogos
3.1 Jogo da velha
3.2 Desenhando a tela do jogo
3.3 Interação com o usuário
3.4 O tabuleiro
3.5 Movendo as peças do jogo
3.6 Marcando o x da jogada
3.7 Criando uma Inteligência Artificial
3.8 Determinando o ganhador
3.9 Reiniciando a partida
3.10 Conclusão
Parte 2 – Paradigmas de programação
4 Uma linguagem, muitos paradigmas
4.1 Paradigmas de programação
4.2 Conclusão
5 Programação Orientada a Objetos
5.1 Classes, objetos e instâncias
5.2 Herança
5.3 Público, privado e protegido
5.4 Descobrindo métodos e atributos
5.5 Módulos como objetos
5.6 Pacotes
5.7 Conclusão
6 Orientação a Objetos na prática
6.1 A tela do jogo
6.2 Os jogadores
6.3 Função principal
6.4 Conclusão
7 Programação Funcional
7.1 Elementos de Programação Funcional
7.2 Compreensões
7.3 Geradores
7.4 Conclusão
Parte 3 – Desenvolvimento Web com Python
8 Aplicativos Web
8.1 Frameworks Web
8.2 Conclusão
9 Aplicações Web com Python e Flask
9.1 Nosso projeto
9.2 Gerando templates dinâmicos
9.3 Acessando as músicas
9.4 Manipulando metadados das músicas
9.5 Full stack: do back-end para o front-end
9.6 Criando ações no front-end com Java Script
9.7 Conclusão
10 Persistência de dados
10.1 Conexão com o banco de dados
10.2 Criando os modelos de tabelas
10.3 Integração entre aplicação e banco de dados
10.4 Conclusão
11 Sistema de login
11.1 Organizando o nosso código
11.2 Cadastro de usuários
11.3 Tela de login
11.4 Login
11.5 Conclusão
12 LAF – Linux, Apache e Flask
12.1 Diálogo entre Flask e Apache
12.2 Conclusão
Parte 4 – Considerações finais
13 Considerações finais
14 Referências bibliográficas
Parte 5 – Apêndice
15 Apêndice A: Java Script
15.1 Comentários, palavras reservadas e tipos
15.2 Ferramenta de desenvolvimento do navegador
15.3 Escopo de variáveis
15.4 Strings e conversão de tipos
15.5 Arrays ou listas
15.6 Objetos
15.7 Operadores lógicos
15.8 Estruturas condicionais e de laço
15.9 Funções
15.10 Conclusões
عن المؤلف
Eduardo S. Pereira é mestre e doutor em Astrofísica, pelo Instituto Nacional de Pesquisas Espaciais (INPE). Possui graduação em Física pela Universidade Federal de São João Del-Rei. Também realizou pós-doutorado em Astrofísica, pelo INPE, e em Astronomia Observacional/Computacional, pela Universidade de São Paulo (USP). Atua principalmente nos seguintes temas de pesquisa: cosmologia, ondas gravitacionais, astrofísica computacional, processamento de imagens e inteligência artificial. Atualmente, é professor do curso de Ciência da Computação da Faculdade Anhanguera, e Tutor no curso de física na Universidade Virtual de São Paulo (UNIVESP). Trabalha com Python há mais de 6 anos.