Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Minicurso Python, Manuais, Projetos, Pesquisas de Programação em Python

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

2021

Compartilhado em 09/06/2021

usuário desconhecido
usuário desconhecido 🇧🇷

2 documentos

1 / 52

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal de Santa Maria
Campus Cachoeira do Sul
Minicurso Python
Autores:
Profª. Drª Ana Luisa Soubhia
Elias Teixeira da Costa
Flavio Luan Müller Freitas
Laís Brum Menezes
Marcos Alves dos Santos
Prof. Dr. Vinícius Maran
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Pré-visualização parcial do texto

Baixe Apostila Minicurso Python e outras Manuais, Projetos, Pesquisas em PDF para Programação em Python, somente na Docsity!

Universidade Federal de Santa Maria

Campus Cachoeira do Sul

Minicurso Python

Autores:

Profª. Drª Ana Luisa Soubhia

Elias Teixeira da Costa

Flavio Luan Müller Freitas

Laís Brum Menezes

Marcos Alves dos Santos

Prof. Dr. Vinícius Maran

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
    • 1.1 Baixando e instalando o interpretador mais atual
    • 1.2 Baixando e instalando o pycharm
  • 2 Introdução à linguagem de programação Python
    • 2.1 História
    • 2.2 Aplicações
    • 2.3 Compilação
    • 2.4 Integrated development environment (ide)
    • 2.5 Por que python?
    • 2.6 Prós e contras
    • 2.7 Sintaxe da linguagem
  • 3 Unidade
    • 3.1 Hello World
    • 3.2 Variáveis
    • 3.3 Expressões aritméticas
    • 3.4 Expressões lógicas
    • 3.5 Entrada e saída de dados
    • 3.6 Atribuição
    • 3.7 Bibliotecas
  • 4 Unidade
    • 4.1 If, Elif e Else
  • 5 Unidade
    • 5.1 For
    • 5.2 While
  • 6 Unidade
    • 6.1 Strings
    • 6.2 Listas, tuplas e dicionários
      • 6.2.1 Listas
      • 6.2.2 Tuplas
      • 6.2.3 Dicionários
    • 6.3 Matrizes
  • 7 Unidade
    • 7.1 Funções
  • 8 Unidade referente a OOP, em andamento
  • 9 Referências

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.

1.1 Baixando e instalando o interpretador mais atual

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

1.2 Baixando e instalando o pycharm

....................... 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.

2.1 História

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.

  • Aplicações GUI para Desktop

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”.

  • Jogos

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”.

  • Aplicações científicas e numéricas

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.

  • Programação de Redes

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.

  • Desenvolvimento de Softwares

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.

  • Acesso a Bancos de Dados

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.

  • Outras aplicações

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.

2.3 Compilação

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.

2.4 Integrated development environment (ide)

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.

  • Gratuitas

PyScripter

Suporta debugging, auto-completion, navegação no código entre outros recur- sos.

  • Pagas

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.

2.5 Por que python?

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.

3.1 Hello World

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.

3.2 Variáveis

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.

3.3 Expressões aritméticas

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

3.4 Expressões lógicas

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.