












































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Esta apostila tem como objetivo apresentar um compilado de informações abordadas nos minicursos sobre Python ministrados pelos alunos da Universidade Federal de Santa Maria (UFSM), campus Cachoeira do Sul. Este material é resultante da primeira etapa do projeto de ensino Cadernos Digitais para Engenharias - Aplicações em LaTeX, Python e Jupyter, financiado pela Universidade Federal de Santa Maria (UFSM) através do edital Fien 2019.
Tipologia: Manuais, Projetos, Pesquisas
Compartilhado em 09/06/2021
2 documentos
1 / 52
Esta página não é visível na pré-visualização
Não perca as partes importantes!













































Esta apostila tem como objetivo apresentar um compilado de informações abor- dadas nos minicursos sobre Python ministrados pelos alunos da Universidade Federal de Santa Maria (UFSM), campus Cachoeira do Sul.
Este material é resultante da primeira etapa do projeto de ensino Cadernos Digitais para Engenharias - Aplicações em LaTeX, Python e Jupyter , financiado pela Universidade Federal de Santa Maria (UFSM) através do edital Fien 2019.
Coordenador do Projeto: Prof. Dr. Vinícius Maran. Contato: [email protected]
Sugestões sobre o material podem ser informadas nest link.
Este trabalho está licenciado sob uma licença Creative Commons “Attribution-NonCommercial-ShareAlike 3. Unported”.
Documento criado em LATEX
1 Como baixar e instalar o python e o pycharm
Para se programar em Python, a forma mais comum é através de um ambiente de programação ou, de forma mais rigorosa, de um ambiente integral de desenvol- vimento (Integrated Development Environment – IDE). E, além disso, é necessário que seja instalado na máquina o interpretador do Python na versão a qual se deseja programar.
Diante disso, neste capítulo será mostrado o step-by-step (passo a passo) de como baixar e instalar tanto o interpretador quanto o IDE Pycharm. Para este caso, considera-se o uso de uma máquina cujo Sistema Operacional é o Windows.
Para se realizar esta tarefa, basta acessar o link no site do Python, na seção de downloados. O link é este: https://www.python.org/downloads/.
Ao acessar este link, é possível visualizar uma página semelhante a esta:
Figura 1: Site Python Downloads
Fonte: Python. Disponível em: https://www.python.org/downloads/
Dessa forma, para baixar a versão mais atual do interpretador do Python, basta clicar em Download.
Figura 4: Janela de instalação do Python
Fonte: Autores
Uma tela de progresso irá aparecer (Ver Figura 5.). Após a finalização do progresso, basta clicar em Close (Ver Figura 6) para concluir a instalação.
Figura 5: Janela de progresso do instalador
Fonte: Autores
Figura 6: Janela de conclusão da instalação
Fonte: Autores
....................... https://www.jetbrains.com/pycharm/download/#section= windows versão community.....................
2 Introdução à linguagem de programação Python
Neste capítulo é descrito, de forma sucinta porém eficaz, todos os aspectos gerais sobre a linguagem de programação “Python”. São abordados os tópicos re- lativos à história, às aplicações da linguagem e ao funcionamento de compilação de seus códigos (Python é uma linguagem interpretada).
Além desses, os tópicos referentes às IDE’s mais utilizadas disponíveis, à moti- vação e ao porquê de se utilizar Python, aos prós e contras e, por fim, à sintaxe da linguagem também são abordados.
Por volta dos anos 80, Van Rossum utilizava o laboratório do grupo CWI (Distributed & Interactive Systems) para trabalhar na criação de uma linguagem de
Figura 7: Python Applications
Fonte: DataFlair. Disponível em: https://data-flair.training/blogs/python-applications/
Tryton Uma plataforma de aplicativos de uso geral de alto nível relacio- nada a negócios.
Odoo Um conjunto de códigos de negócios (open-source) Python que aju- dam no gerenciamento de empresas e de organizações usando CMS, Business Intelligence engine, entre outros.
A maioria das interfaces gráficas criadas com Python utilizam a biblioteca padrão “tkinter”. Essa biblioteca fornece a maioria das módulos necessários para a criação de interfaces.
Porém, também é possível utilizar outras bibliotecas e módulos de externos. Basta baixá-los e instalá-los. Mais informações sobre como isso é feito estão na seção “Bibliotecas”.
Uma das áreas com maior número de aplicações em Python é a de Games. São
inúmeras as possibilidades de criação de jogos, sendo que existe um concurso semestral denominado “PyWeek”.
Dentre as bibliotecas mais utilizadas para a criação de games, destaca-se a “pygame”.
Esta é outra área bastante volumosa no Python. Não é utopia dizer que, em muitos casos, Python é escolhido no lugar de outros softwares científicos e numéricos, como o MatLab e o SciLab, por exemplo.
Python também fornece a possibilidade de se trabalhar com programação de redes. A linguagem fornece suporte para programação de redes em “lower- level” (baixo-nível).
Como exemplo de utilização, pode-se citar o framework Twisted , o mesmo utilizado para desenvolvimento web e internet.
Para esta área, Python pode ser utilizado como uma linguagem suporte para desenvolvedores. Para esta área, pode-se citar:
scons Utilizado para ocntrole de compilação. buildbot Um framework para compilação automatizada e contínua.
roundup e trac Para gerenciamento de projetos e rastreamento de bugs.
Esta é uma das áreas mais fortes do Python. Existem muitos trabalhos desen- volvidos e em desenvolvimento na área de DataScience que utilizam Python. A linguagem fornece interfaces personalizadas para se trabalhar com MySQL, por exemplo. Para isso, pode-se citar egenix odbc. Também pode-se citar:
durus Um banco de dados de objetos.
zodb Um banco de dados de objetos. zodb Um banco de dados de objetos.
Por fim, python também fornece API padrão para banco de dados.
As aplicações listadas acima são as mais comuns. Contudo, Python é utilizado para inúmeras outras aplicações, como por exemplo, em Inteligência Artificial, Robótica e Machine Learning.
De acordo com (Borges) [1], a compilação/interpretação do código em Python (.py) segue o seguinte caminho: Primeiramente é traduzido para bytecode, que é um formato binário com instruções para o interpretador. Esse bytecode é multipla- taforma.
A seguir, o interpretador compila o código e armazena o bytecode em disco. Nesta etapa, quando um módulo é evocado o interpretador analisa o código, converte para os símbolos padrões, compila e executa na máquina virtual do Python (Virtual Machine).
Os arquivos “.pyc” e “.pyo” são os arquivos onde o bytecode é armazenado, sendo esses normal (.pyc) e otimizado (.pyo).
Ainda segundo (Borges) [1], o bytecode pode ser empacotado junto com o in- terpretador em um executável, com o intuito de facilitar a distribuição do programa, sem a necessidade de se instalar o interpretador em cada máquina.
A Figura 2 exemplifica esse processo, como segue.
De acordo com a comunidade Python Brasil [3], existem inúmeras IDE’s para se programar em Python. Dentre essa ampla gama de possibilidades, pode-se separar entre as gratuitas e as não-gratuitas.
PyScripter
Suporta debugging, auto-completion, navegação no código entre outros recur- sos.
PyCharm
Figura 8: Compilação/Interpretação em Python
Fonte: Indian Pythonista. Disponível em: https://indianpythonista.wordpress.com/2018/01/04/how-python-runs/
Possui um conjunto de ferramentas úteis para um desenvolvimento produtivo. Além disso, o IDE fornece capacidades de alta classe para o desenvolvimento Web profissional. Possui suporte a diversos sistemas de controle de versão, integração com Github e atraves de plugin, com o Heroku. Possui gerador de Diagramas de Classe e ORM. Suporte para interpretador Python remoto. Criação de gerencia de ambientes (virtualenv). Wing
Possui editor inteligente, ‘poweful’ debugger, fácil navegação, desenvolvimento remoto, é customizavel e extensível, entre outras funcionalidades.
Explicar tudo o que for possível sobre python. História, Aplicações, Compilação, IDEs, Motivação, Prós e Contras, Sintaxe,
def f(x): return x
3 Unidade 1
Como se sabe, o Python é uma linguagem de programação de alto nível e inter- pretada. Portanto, para que se possa programar em Python, é necessário a utilização (junto à IDE escolhida) do interpretador do Python. Para este material, foi utilizado o interpretador Python 3.7.2 e como IDE utilizou-se o Pycharm Community Edition 2019.1.1.
Nesta unidade serão abordados os seguintes itens: Hello World, Variáveis, Ex- pressões aritméticas, Expressões lógicas, Entrada e saída de dados, Atribuição de variáveis e Bibliotecas.
Como de costume na programação, a impressão da frase “Hello World” é utili- zada como o primeiro programa ao se iniciar numa nova linguagem. Isso é apenas um costume adotado por alguns programadores, não sendo regra.
Contudo, para o fim a que se destina este material, essa impressão pode ser utilizada para se fazer alguns apontamentos introdutórios sobre a linguagem Python.
Portanto, abaixo é representada a forma básica de como imprimir a frase “Hello World” em Python.
print ('Hello World!')
Como é possível se observar, para a impressão da frase em questão, basta uma única linha de código. Contudo, para que isso seja possível, é necessário o uso da função “print()”, a qual vem como padrão no interpretador do Python. Com essa função, o programador pode apenas digitar qualquer caractere possível dentro do abre e fecha aspas, sendo que essas aspas podem ser tanto aspas simples (‘’) como aspas duplas (“”).
Segundo Downey (2015) [2], em Python 3 a instrução “print” é uma função devido o fato do uso dos parênteses. Contudo, em Python 2, essa instrução não é uma função pois não faz uso dos parênteses, como no exemplo abaixo:
print 'Hello World!'
Ambas formas são parecidas, porém existe distinção entre uma função e uma instrução. Nos próximos tópicos isso fará mais sentido.
Variáveis podem ser entendidas como um dos assuntos mais básicos presentes em todas as linguagens de programação. É necessário que a linguagem consiga entender qual o tipo de valor que o programador está utilizando, pois é dessa forma que ela pode executar o programa de forma correta.
Em Python, pode-se descobrir qual o tipo da variável através do interpretador utilizado. Para isso, basta digitar “type()” e a variável dentro do parênteses desta função no prompt de comando do interpretador ou na IDE utilizada, como segue no exemplo mostrado abaixo:
type(1) < class 'int '>
type(1.1) < class 'float '>
type(1 + 1.1j) < class 'complex '>
type('Python ') < class 'str '>
type([1, 1.1, 1 + 1.1j , 'Python ']) < class 'list '>
Como é possível observar, o número “1” corresponde ao tipo “int”, que significa uma variável inteira. O número “1.1” corresponde ao tipo “float”, que significa uma variável com ponto flutuante. O número “1 + 1.1j” corresponde ao tipo “complex”, que representa uma variável complexa. A frase “Minicurso” corresponde ao tipo “str”, que significa uma variável do tipo string. O último exemplo da utilização da função “type()” resultou num tipo “list”, que é uma lista (este assunto é abordado nos próximos tópicos).
Para a declaração de uma variável, basta fazer sua atribuição. Devido ao alto nível da linguagem Python, torna-se desnecessário se declarar uma variável do tipo “int”, “float” ou “str”, como se faz em C, por exemplo.
print (d) [7, 7 + 5j , 'variavel dinamica !']
Por fim, vale destacar que existem variáveis que podem assumir o tipo “bool”, representando valores booleanos. Ou seja, são variáveis que podem assumir o resul- tado “True” quando verdadeiro, ou “False” quando falso.
Outro assunto de grande importância ao universo da programação são as ex- pressões utilizadas em cada linguagem. Em Python, as expressões aritméticas não fogem ao comum encontrado em outras linguagens de programação e são de fácil entendimento.
Os operadores “+”, “-”, “*”, “/” e “%” executam, respectivamente, adição, subtração, multiplicação, divisão de dois números e o último retorna o valor do resto da divisão entre dois números.
Desses operadores, estendem-se outras duas operações, que são, respectiva- mente, a operação de exponenciação representada por “**”, e a operação de divisão que resulta na parte inteira da divisão representada por “//”. Destaca-se que a ope- ração de divisão simples “/” sempre resulta num valor do tipo “float”. Abaixo estão representadas essas operações.
11 + 7 18 18 - 11 7 7 * 11 77 77 / 11
7 % 11 7 7 ** 11 1977326743 1977326743 // 11 179756976 1977326743 // 11
Seguindo o raciocínio das expressões aritméticas, as expressões lógicas possuem demasiada relevância para a lógica da programação. Isso devido o fato de serem utilizadas, em muitos casos, em maior número do que as expressões aritméticas. Seja em laços de repetição ou em comparações lógicas, as expressões lógicas, os operadores relacionais e os operadores bitwise são muito relevantes.
Em Python, as expressões lógicas, os operadores relacionais e os operadores bitwise, são:
Operadores Descrição and Retorna um valor verdadeiro se, e somente se, receber duas expressões verdadeiras. or Retorna um valor falso se, e somente se, receber duas expressões falsas. not Retorna verdadeiro se receber uma expressão falsa, e vice-versa. is Retorna verdadeiro se, e somente se, receber duas expressões cujos valores são iguais. in Retorna verdadeiro se, e somente se, receber um valor contido numa lista, tupla, num dicionário, etc. X « Y Retorna X com os bits descolados à esquerda por Y lugares. X » Y Retorna X com os bits deslocados à direita por Y lugares. X Retorna o complemento de X. É equivalente a: - X - 1. X .̂ Y É um bitwise exclusivo (ou XOR a cada bit). O bit da saída é o mesmo que o da entrada (X) se o bit de Y for 0, e é o complemento do bit de entrada (X) se esse bit em Y for 1. X == Y Retorna verdadeiro se, e somente se, X for igual a Y. X != Y Retorna verdadeiro se, e somente se, X for diferente de Y. X > Y Retorna verdadeiro se, e somente se, X for maior que Y. X < Y Retorna verdadeiro se, e somente se, X for menor que Y. => ou => Retorna verdadeiro se, e somente se, X for maior ou igual a Y. <= ou <= Retorna verdadeiro se, e somente se, X for menor ou igual a Y.
Tabela 1: Operadores lógicos, relacionais e bitwise. Fonte: Autores.
Diante disso, destaca-se que em Python é possível a criação e a análise de intervalos. Ou seja, é possível utilizar um intervalo como uma estrutura lógica. Um exemplo dessa utilização é mostrado na abaixo.