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)