Introdução à linguagem
Python
Conteúdo
História e características da linguagem
Jupyter notebooks
Tipos e estruturas de dados pythônicas
Números
Strings
Listas
Tuplas
Conjuntos (sets)
Arquivos
Booleanos
Conteúdo
Operadores de comparação
Estruturas de controle
If , elif e else
For
While
Ranges
Compreensão de listas
Métodos e funções
Leitura e escrita em arquivos
Módulos e pacotes
Ambientes virtuais
O que é Python?
VHLPL (Very High Level Programming Language)
Guido van Rossum, 1991
The Benevolent Dictator for Life
Orientada a objetos
Tipagem forte e dinâmica
Infere o tipo de dado para você (dinâmica)
Não é necessário declarar o tipo de variáveis (dinâmica)
Não aceita operações com tipos de dados incompatíveis (forte)
Desenvolvimento aberto (Python Software Foundation)
Características
Rápido para escrever códigos
Mais lenta e usa mais memória que linguagens compiladas
Grande comunidade
Código fonte (.py) é compilado para bytecode (.pyc) que é interpretado pela
máquina virtual Python, usualmente em um único passo.
Cientistas de dados, administradores de sistemas, programadores web,
bioinformatas, inteligência artificial, entre outros.
Crescendo em popularidade [Link]
Propósito geral
Desenvolvimento para aplicativos móveis? – Kivy
Como instalar?
No Linux, já vem instalado na maioria das distribuições
No Windows, baixe em [Link]
Anaconda ( [Link] )
Pacote com Python, vários módulos para análise de dados e o Jupyter Notebook
Fácil de instalar e usar
Linux/Windows/MAC
Jupyter Notebook: aplicação web que permite misturar código fonte, textos
explicativos, figuras em um único lugar (um notebook)
Será usado neste curso
Jupyter Notebook
Jupyter cheat sheet
[Link]
notebook/pdf_bw/
Jupyter Hub: Instalado numa máquina virtual do CENAPAD-SP
[Link]
Login: curso01 .. curso24
Google Colaboratory
Interface muito semelhante ao Jupyter Notebook
Você pode criar/submeter seus cadernos (notebooks)
Roda de graça em máquinas virtuais do Google Cloud (alguns limites)
Ótimo para fins didáticos
[Link]
Python IDEs
Online
[Link]
PyCharm
Spyder
Eclipse
Mas nem sempre você precisa de uma IDE
Pode escrever seus códigos em qualquer editor de textos
Stack Overflow
Melhor lugar para encontrar respostas relacionadas à programação (Python ou
outras linguagens)
Se você tem alguma dúvida, é provável que ela esteja respondida lá
Use a versão em inglês (maior comunidade, mais conteúdo)
[Link]
Python2 e Python3
A partir da versão 3 do Python houve uma quebra de compatibilidade
Código em Python2 não roda em Python3
Pequenas mudanças para portar (print, operador de divisão, algumas
mudanças sintáticas etc.)
Qual usar?
Python2 EOL em 2020 (V 2.7 continuará sendo desenvolvida até lá)
Só use Python2 se precisar mexer em código legado
Neste curso, usaremos exclusivamente Python3
Implementações da linguagem
CPython (padrão que iremos usar)
Jython (compila pra bytecode Java)
PyPy (Python desenvolvido em Python)
Micropython (Python para microcontroladores)
PyDroid (CPython para Android)