Prévia do material em texto
05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 1/13 Programação RAD Aula 1: Linguagem Python INTRODUÇÃO Você sabia que, comparada com outras linguagens mais tradicionais, a Python é bem nova? Ela foi lançada em 1991 e, atualmente, tem sido muito comentada, devido a algumas características que a distinguem das demais. Entre estas, destacamos a facilidade de aprendizado e o grande número de bibliotecas que essa linguagem suporta como extensão de seu núcleo. Isso dá à Python um poder de atuação em várias aplicações – desde as aplicações web até aquelas voltadas para a inteligência arti�cial e a computação cognitiva. A linguagem vem sendo discutida, porque grandes organizações – como Google, Yahoo!, NASA, YouTube etc. – a usam 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 2/13 para alguma �nalidade. Até mesmo programas para desktop – como GIMP e Blender – utilizam a Python como linguagem principal. Com o uso de frameworks – como o Django para web –, também podemos encontrar inúmeros sites que se apoiam na linguagem como base e como plataforma central. Nesta aula, vamos estudar, portanto, a linguagem Python. Você vai perceber que o aprendizado é bem simples. Enquanto em outras linguagens, temos de escrever três ou quatro linhas para mostrar só uma mensagem na tela, em Python, com apenas um comando, isso é possível. Mas é necessário praticar. Além do estudo por meio das aulas online, convidamos você a seguir os exemplos, a testá-los e a expandi-los para ampliar seus conhecimentos. Bons estudos! OBJETIVOS Explicar a linguagem Python. Identi�car suas versões. Testar um programa escrito em Python. 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 3/13 CARACTERÍSTICAS Na introdução, já comentamos um pouco sobre a linguagem Python e sobre as empresas que a têm usado em seus projetos. Essa linguagem é abrangente e �exível. Normalmente, quem começa a utilizá-la acaba deixando outras linguagens de lado. Antes de nos aprofundarmos em sua estrutura, vamos contar um pouco de sua história. A Python foi criada pelo neerlandês Guido van Rossum no �nal da década de 1980 para estender a linguagem ABC, usada na interface de um sistema operacional chamado de Amoeba. Mas ela só foi lançada em 1991. O nome foi escolhido devido a um grupo de comédia inglês chamado Monty Python. Fonte: Wikipedia. Entre suas características, destacamos: PROGRAMAÇÃO MULTIPARADIGMA A Python suporta os paradigmas da: Programação Orientada a Objetos – Object Oriented Programming (OOP), a qual vamos estudar mais tarde; Programação estruturada; Programação Orientada a Aspectos (glossário) – Aspect Oriented Programming (AOP); Programação lógica (glossário) – por meio de algumas extensões. TIPAGEM DINÂMICA Em Python, não precisamos declarar variáveis para usá-las, como é feito em Java, C# etc. Vamos estudar mais o assunto na próxima aula. É UMA LINGUAGEM FUNCIONAL 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 4/13 Alguns elementos destas linguagens são utilizados. Um exemplo é o Lisp, cujas funções – map(), reduce() e �lter() – são implementadas em Python para ajudar os programadores a adaptarem os recursos do Lisp. É UMA LINGUAGEM INTERPRETADA Após instalar a linguagem no Windows – no Linux, por exemplo, ela já vem instalada junto com o S.O. –, o programa que executa seus comandos é um interpretador. Por isso, a Python é uma linguagem interpretada, e não compilada – quando a execução ocorre pelo sistema operacional. Saiba Mais , A �loso�a principal da Python é resumida em um documento, no qual são apresentados 20 princípios que in�uenciaram o projeto da linguagem. Para conhecê-los, acesse: PEP 20 – The Zen of Python (https://www.python.org/dev/peps/pep-0020/). DUAS VERSÕES Quando você �zer o download do interpretador Python para Windows, terá de tomar uma decisão: usar a versão 2 ou 3? Para quem está iniciando o estudo da linguagem, isso pode ser um problema. Obviamente, o Python 2 foi criado primeiro e apresenta algumas características que não são encontradas na versão 3. Para aqueles que estão aprendendo a linguagem agora, recomendamos começar pelo Python 3, porque, ao longo do tempo, alguns recursos existentes na versão 2 deixarão de evoluir, além de a versão 3 oferecer novos recursos. Muitos programas já foram escritos e desenvolvidos com base no Python 2. Por isso, é preciso ter muito cuidado ao pesquisar, ler e assistir a algo referente a essa linguagem. É importante saber qual versão Python está sendo usado em suas fontes de estudo. Algumas mudanças foram implementadas na terceira versão da linguagem, que a tornaram incompatíveis com a segunda. Logo, é fundamental desenvolver as duas paralelamente. O site da Python (glossário) recomenda que a versão 2 só deve ser usada em um programa que não foi migrado para a versão 3 ou quando é necessário manter um sistema legado. https://www.python.org/dev/peps/pep-0020/ https://www.python.org/ 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 5/13 QUER UM EXEMPLO DE DIFERENÇA SUPERFICIAL ENTRE AMBAS AS VERSÕES, MAS QUE DEMONSTRA COMO UMA É INCOMPATÍVEL COM A OUTRA? Muito do que é expresso no Python 3 representa um método. Porém, antes, no Python 2, não era assim. O simples comando de mostrar algum texto na tela foi modi�cado. Vejamos: Python 2 print “A resposta é”, 2*2 Python 3 print (“A resposta é”, 2*2) Percebeu a diferença? Devido a todo o exposto, nesta disciplina, vamos adotar o Python 3. Saiba Mais , Para conhecer as diferenças entre as versões 2 e 3 da linguagem Python, acesse: What’s new in Python 3.0 (https://docs.python.org/3.0/whatsnew/3.0.html). ANTES DE ESTUDARMOS UM POUCO DA PRÁTICA, VAMOS CONFERIR SE VOCÊ COMPREENDEU OS CONCEITOS. Descreva rapidamente a linguagem Python. Resposta Correta Pesquise e apresente algumas das principais características da linguagem Python. Resposta Correta PRIMEIRO PROGRAMA Agora que você já estudou alguns conceitos da linguagem Python, chegou o momento de analisar um programa. A ideia é que se acostume com o código que vamos desenvolver daqui para frente. https://docs.python.org/3.0/whatsnew/3.0.html 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 6/13 Siga o roteiro de instalação (glossário) e con�guração do ambiente para acompanhar os exemplos. Isso vai ajudá-lo a memorizar os comandos e as execuções da linguagem. Dica , Em nossas aulas, utilizaremos o "Sublime" (https://www.sublimetext.com/), mas existem outras opções de IDE, como o “Atom” (https://atom.io/), “Visual Studio Code” (https://code.visualstudio.com/), “PyCharm” (https://www.jetbrains.com/pycharm/) e “Brackets” (http://brackets.io/). Você pode escolher uma dessas ou outra de sua preferência. Aprenda a con�gurar o Sublime Text (https://www.quora.com/How-do-I-run-Python-Code-on-Sublime-Text-3) para executar os scripts em Python. Aprenda a con�gurar o Atom (http://www.programeempython.com.br/blog/programando-em-python-no-atom/) para executar os scripts em Python. Aprenda a con�gurar o Visual Studio Code (https://www.youtube.com/watch?v=tq8CYGjXo2U) para executar os scripts em Python. Aprenda a con�gurar o Brackets (https://docs.microsoft.com/pt-br/visualstudio/python/installation) para executar os scripts em Python. (Tutorial em inglês) Vamos, então, às orientações: 1 Criar arquivo Crie um arquivo-texto puro e salve-o como primeiro.py (glossário). 2 Digitar o códigoDigite o seguinte código no arquivo: Fonte: Shutterstock http://estacio.webaula.com.br/cursos/gon116/galeria/aula1/docs/a01_doc01.pdf https://www.sublimetext.com/ https://atom.io/ https://code.visualstudio.com/ https://www.jetbrains.com/pycharm/ http://brackets.io/ https://www.quora.com/How-do-I-run-Python-Code-on-Sublime-Text-3 http://www.programeempython.com.br/blog/programando-em-python-no-atom/ https://www.youtube.com/watch?v=tq8CYGjXo2U https://docs.microsoft.com/pt-br/visualstudio/python/installation 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 7/13 1 print("Alô mundo!") 2 print("Oi de novo") 3 print("Eu gosto de digitar.") 4 print("É bem divertido.") 5 print('Legal!') 6 print("Você conhece Joana D'arc?") 7 print('Observe "bem" este exemplo!') Como você percebeu, o programa é bem simples. Mesmo assim, vamos mostrar o resultado de sua execução. Com a Python já instalada e devidamente con�gurada em seu sistema operacional, abra um console de comandos – no caso do Windows, um prompt de comandos – e execute python primeiro.py. Você obterá o seguinte resultado: Observe que o comando “print” mostra algo na tela e uma expressão por linha. Atenção , É importante ter muita atenção ao digitar o código, pois a Python realmente se importa com espaços e tabulações. Na próxima aula, veremos que a indentação do código diz à Python para criar um novo bloco de comandos, da mesma forma que o “{“ e “}” faz em linguagens como C, C++, C#, Java, PHP, JavaScript etc. Isso é bem diferente do que estamos habituados. Aos poucos você perceberá que só o fato de indentar corretamente o código permite que sua legibilidade seja melhor. Agora, observe as linhas 1, 2, 3 e 4 e compare-as com a linha 5. O que há de diferente? 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 8/13 1 print("Alô mundo!") 2 print("Oi de novo") 3 print("Eu gosto de digitar.") 4 print("É bem divertido.") 5 print('Legal!') 6 print("Você conhece Joana D'arc?") 7 print('Observe "bem" este exemplo!') Resposta Correta A Python aceita tanto aspas duplas quanto aspas simples para delimitar strings. Por exemplo, na linha 6, uma string foi iniciada e �nalizada com aspas duplas, e há aspas simples no nome Joana D’arc. A linguagem poderia ter concluído a string no “D” de Joana “D’arc”, mas não fez isso: reconheceu o término da string no �nal do comando quando o fechou com aspas duplas. Já na linha 7, abrimos e fechamos as aspas na palavra “bem”. Novamente, a Python entende quando esse recurso inicia e �naliza as strings. PROGRAMA COM ERRO 1 print("Alô mundo!") 2 print("Oi de novo") 3 print("Eu gosto de digitar.") 4 print("É bem divertido.") 5 print('Legal!') 6 print("Você conhece Joana D'arc?") 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182db… 9/13 7 print('Observe "bem" este exemplo!) Após sua execução, o resultado é o seguinte: De onde se originou o erro? Como podemos resolver esse problema? Resposta Correta A tela de erro também é útil, pois a linguagem nos indica: Além disso, não precisamos digitar o ponto e vírgula (“;”) no �nal de cada linha, pois a Python entende que, ao apertarmos “Enter”, o comando deverá ser executado. MUDANÇA DE CÓDIGO-FONTE Vamos mudar só um pouco o código-fonte do exemplo-modelo utilizado até então: 1 #print("Alô mundo!") 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182d… 10/13 2 print("Oi de novo") 3 #print("Eu gosto de digitar.") 4 print("É bem divertido.") 5 #print('Legal!') 6 print("Você conhece Joana D'arc?") 7 print('Observe "bem" este exemplo!') Você notou a diferença? Observe as linhas 1, 3 e 5: agora, elas têm o símbolo “#” no início. Tudo aquilo que vier depois dele será um comentário da linha. Esse recurso equivale ao símbolo “//” das linguagens C, C++, C#, Java, PHP, JavaScript etc. O resultado da execução deste programa será o seguinte: Agora, você já deve ter condições de saber o que o próximo programa fará. Vamos a ele: 1 # Um comentário 2 # Qualquer coisa após o # é ignorado pelo Python. 3 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182d… 11/13 4 print("Eu poderia ter um código como esse")# e o comentário depois é ignorado 5 6 # Você também pode usar um comentário para "desativar" ou comentar um pedaço de código: 7 # print "Isso não será executado." 8 9 print("Isto será executado") Observe a linha 4: o símbolo “#” ignora tudo o que aparece após esse caractere. Continuando na mesma linha de raciocínio, analise o exemplo a seguir: 1 print("#Isto será impresso") Nesse caso, o arquivo será impresso, pois a Python entende que “#” está dentro de uma string e vai mostrar a frase normalmente. Mas e se você precisar comentar várias linhas? Com o conhecimento que adquiriu até o momento sobre a linguagem Python, o que você faria? Resposta Correta 1. Nas próximas aulas, vamos retomar esses assuntos com mais de detalhes. Nosso objetivo aqui é apenas que você conheça a linguagem. Agora, vamos conferir os conceitos que você aprendeu? Vamos lá. Qual é a melhor IDE para o desenvolvimento de programas em Python na atualidade? a) IDLE. b) Netbeans. c) Sublime Text. d) Atom. e) Depende de alguns critérios pessoais ou de uso da equipe. Justi�cativa 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182d… 12/13 2. O nome do interpretador de comandos da Python é: a) IDLE. b) IDE c) Sublime Text. d) Atom. e) Brackets Justi�cativa 3. A linguagem Python é: I. Interpretada. II. Orientada a objetos. III. Interativa. Entre os itens anteriores, está(ão) CORRETO(S): a) Somente I b) I e II c) II e III d) I e III e) I, II e III Justi�cativa 05/12/2019 Disciplina Portal estacio.webaula.com.br/Classroom/index.html?id=1585377&courseId=13049&classId=1186246&topicId=2652592&p0=03c7c0ace395d80182d… 13/13 Glossário PROGRAMAÇÃO ORIENTADA A ASPECTOS Aquela que complementa a OOP, fornecendo outra forma de pensar sobre a estrutura do programa. A unidade-chave de modularidade em OOP é a classe, enquanto em AOP, é o aspecto. Os aspectos permitem a modularização de preocupações como o gerenciamento de transações que atravessam vários tipos e objetos. Na literatura AOP, essas preocupações são, muitas vezes, denominadas transversais. PROGRAMAÇÃO LÓGICA Tipo de paradigma de programação que se baseia, principalmente, na lógica formal. Qualquer programa escrito nessa linguagem é um conjunto de frases em forma lógica, que expressa fatos e regras sobre algum domínio problemático. Prolog é uma linguagem que suporta a programação lógica. PRIMEIRO.PY .py é a extensão normalmente associada a arquivos-texto contendo código-fonte em Python.