Buscar

Aula 01 - Aulas Algoritmos e Estruturas de Dados - Python - v16

Prévia do material em texto

Aula 01 – Python
• Linguagem de programação interpretada de alto nível
• Linguagem de programação de uso geral
• Lançada em 1991
• Guido van Rossum
Algoritmos e Estruturas de Dados 23
Aula 01 – Python
• Enfatiza a legibilidade do código
• Espaço em branco significativo
• Blocos expressos por endentação
• Permitir programação clara em pequena ou 
grande escala
• Tipos dinâmicos
• Gerenciamentos automático de memória
Algoritmos e Estruturas de Dados 24
Aula 01 – Python
• Paradigmas de programação suportados
• Imperativo, procedural, orientado a objetos, funcional, orientada a 
aspectos
• Biblioteca padrão
• Multiplataforma
• Código aberto
• Implementação de referência - CPython
Algoritmos e Estruturas de Dados 25
Aula 01 – Python
“... Em dezembro de 1989, eu estava procurando por um projeto de programação ‘hobby’ que me mantivesse ocupado 
durante a semana em torno do Natal. Meu escritório... estaria fechado, mas eu tinha um computador em casa, e não 
tinha muito mais em minhas mãos. Eu decidi escrever um interpretador para a nova linguagem de script que eu vinha 
pensando ultimamente: um descendente da ABC que atraísse os hackers do Unix/C. Eu escolhi Python como um título de 
trabalho para o projeto, por estar de bom humor (e ser um grande fã do Circo Voador do Monty Python)”
- Guido van Rossum
Algoritmos e Estruturas de Dados 26
Aula 01 – Python
• Filosofia central
• Bonita é melhor que feia
• Explicito é melhor do que implícito
• Simples é melhor que complexo
• Complexo é melhor do que complicado
• Legibilidade conta
Algoritmos e Estruturas de Dados 27
Aula 01 – Python
• The Zen of Python
• Python Enhancement Proposals
• PEP 20 
• https://www.python.org/dev/peps/pep-0020/
Algoritmos e Estruturas de Dados 28
Aula 01 – Python
• Guia de Estilo para o Código Python
• PEP 8
• https://www.python.org/dev/peps/pep-0008/
Algoritmos e Estruturas de Dados 29
Aula 01 – Python
• Executando um programa em Python
Algoritmos e Estruturas de Dados 30
# conteudo do arquivo ola.py
print("ola mundo")
Aula 01 – Python
• Com Python
• Aplicações desktop
• Aplicações web
• Computação científica
• Scripts
• Software de inteligência artificial
Algoritmos e Estruturas de Dados 31
Aula 01 – Python
• Com Python
• Desenvolvimento desktop multi plataforma / PyQT
• Desenvolvimento web / Flask, Django
• Computação científica / ScyPy
• Inteligência artificial / TensorFlow
Algoritmos e Estruturas de Dados 32
Aula 01 – Python
• Python básico
• Tipos
• Inteiros, textos 
• Funções, classes, recursos exclusivos do python
• Como juntar tudo
Algoritmos e Estruturas de Dados 33
Aula 01 – Python
• Python básico
• Console
• Web
Algoritmos e Estruturas de Dados 34
Aula 01 – Python
• Python básico
• Simples, elegante, poderosa
• Inicio imediato / setup mínimo
• Multiplataforma
• Presenta na maioria dos SO
• Linux, Windows, Mac OS
• Sem necessidade de modificação de código
Algoritmos e Estruturas de Dados 35
Aula 01 – Python
• Python básico
• Usada para qualquer propósito
• Console, scripts, científica, retaguarda, desktop, web, automação, 
aprendizagem de máquina, inteligência artificial, computação móvel, 
análise de dados, IoT, etc.
• Linguagem de programação mais popular
Algoritmos e Estruturas de Dados 36
Aula 01 – Python
• Python básico
Algoritmos e Estruturas de Dados 37
Python básico – tipos 
de dados, funções e 
classes
Simples, elegante, 
poderosa e 
multiplataforma
Multi utilidade
Aula 01 – Python
• Usando Python
• Automatizar tarefas rotineiras
• Analisar arquivos CSV
• Realizar manutenção regular de um servidor
• Executar computação científica complexa
• Processamento complexo
• Grafos
Algoritmos e Estruturas de Dados 38
Aula 01 – Python
• Usando Python
• Desenvolvimento multiplataforma
• Com aparência nativa de cada sistema operacional
• Desenvolvimento Android
• Construir websites
• Frente e retaguarda
• Poucas linhas de código
• Flask / Django
Algoritmos e Estruturas de Dados 39
Aula 01 – Python
• Usando Python
• Aprendizagem de máquina
• Reconhecimento de imagens, categorização de informações, etc.
• Biblioteca TensorFlow
Algoritmos e Estruturas de Dados 40
Aula 01 – Python
• Usando Python
Algoritmos e Estruturas de Dados 41
Automação Ciência Desktop
Android Web Aprendizagem de Máquina
Aula 01 – Python
• Python 2 / 3
Algoritmos e Estruturas de Dados 42
Python 2
Mantida, sem novas funcionalidades
Fim de vida (EOL) / 2020
Continua padrão em muitos sistemas
print “Ola mundo!”
Python 3
Novas funcionalidades adicionadas
Suporte Unicode padrão
Melhorou alguns problemas do Python 2
print(“Ola mundo!”)
Poucas diferenças do Python 2
Aula 01 – Python
• Python 2 / 3
Algoritmos e Estruturas de Dados 43
Python 2
Mantida, sem novas funcionalidades
Fim de vida (EOL) / 2020
Continua padrão em muitos sistemas
print “Ola mundo!”
Python 3
Novas funcionalidades adicionadas
Suporte Unicode padrão
Melhorou alguns problemas do Python 2
print(“Ola mundo!”)
Poucas diferenças do Python 2
Aula 01 – Python
• Instalando Python
• https://www.python.org/ 
• https://brew.sh/ 
Algoritmos e Estruturas de Dados 44
Aula 01 – Python
• Console Python
• Console Python integrado
• IDLE – Integrated DeveLopment Environment ou Integrated Development 
and Learning Environment
• Comando python / python3
• Interativo / interpreta cada linha digitada
>>> x-5
>>> x=12
>>> x-5
>>> def subrotina():
... return 14+5
...
Algoritmos e Estruturas de Dados 45
Aula 01 – Python
• IDEs
• Ambientes de desenvolvimento integrado
• Bloco de notas, Sublime, Wing, Vim, Emacs
• PyCharm, Visual Studio Code
Algoritmos e Estruturas de Dados 46
Aula 01 – Python
• IDEs
• Ambientes de desenvolvimento 
integrado
• https://www.jetbrains.com/pychar
m/
Algoritmos e Estruturas de Dados 47
Aula 01 – Python
• IDEs
• Ambientes de desenvolvimento 
integrado
• https://code.visualstudio.com/
Algoritmos e Estruturas de Dados 48
Aula 01 – Python
• Criando/Executando Scripts
vi teste.py 
nano teste.py
notepad teste.py
code teste.py
...
$ python teste.py
$ python3 teste.py
$ chmod +x teste.py
$ ./teste.py
Algoritmos e Estruturas de Dados 49
#!/usr/local/bin/python3
def funcao_dois_mais_dois():
return 2 + 2
x = funcao_dois_mais_dois()
print(x)

Mais conteúdos dessa disciplina