0% acharam este documento útil (0 voto)
8 visualizações

Python Do Básico Até a API

O documento aborda conceitos fundamentais de programação em Python, incluindo lógica, algoritmos, estruturas de controle e manipulação de listas. Também introduz o Flask e a criação de APIs RESTful, explicando métodos HTTP e como construir uma aplicação básica. Exercícios práticos são propostos para reforçar o aprendizado em ambas as áreas.

Enviado por

lessashop.it
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
8 visualizações

Python Do Básico Até a API

O documento aborda conceitos fundamentais de programação em Python, incluindo lógica, algoritmos, estruturas de controle e manipulação de listas. Também introduz o Flask e a criação de APIs RESTful, explicando métodos HTTP e como construir uma aplicação básica. Exercícios práticos são propostos para reforçar o aprendizado em ambas as áreas.

Enviado por

lessashop.it
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 47

Python

do básico até a API


Engenheira de
computação Back-end Dançarina
01
Python
e lógica de programação
Definições
● Lógica
○ Técnica de encadear pensamentos para atingir determinado
objetivo.
● Sequência lógica
○ Passos executados até atingir um objetivo ou solução de um
problema
● Instruções
○ Conjunto de regras ou normas definidas para a realização ou
emprego de algo.
Definições
● Algoritmo
○ Sequência finita de passos para resolver um problema ou
executar uma tarefa.
● Programa
○ Algoritmos descritos em uma linguagem de computador.
Desenvolvendo algoritmos
● Pseudocódigo
● Fases
entrada saída

processamento
● Teste de mesa
○ Seguir as instruções do algoritmo de maneira precisa para
verificar se o procedimento utilizado está correto ou não.
Elementos de um algoritmo
● Constantes ● Entrada
● Variáveis ○ input()
○ Numéricas ● Saída
○ Caracteres ○ print
○ Lógicas
○ Listas
Operadores
● Aritméticos
○ Utilizados para obter valores numéricos.
Símbolo
Adição +

Subtração -

Multiplicação *

Divisão /

Divisão inteira //

Exponenciação **
Operadores
● Aritméticos
○ Hierarquia das operações aritméticas:
■ Parênteses
■ Exponenciação
■ Multiplicação e divisão
■ Soma e subtração
Operadores
● Relacionais
○ Utilizados para comparar string de caracteres e números.
Símbolo
Igual a ==

Diferente de <> ou !=

Maior que >

Menor que <

Maior ou igual a >=

Menor ou igual a <=


Operadores
● Lógicos
○ Utilizados para combinar resultados de expressões.
Símbolo
e AND

ou OR

não NOT
Listas
● Propriedades da lista

len(lista) Quantidade de elementos

lista.append(valor) Adiciona um elemento no fim da lista

lista.insert(pos, valor) Insere um elemento em determinada posição


da lista

lista.remove(3) Remove o elemento 3 da lista (se não tiver, dá


erro)
Listas
● len

lista = [1, 2, 3, 4, 5]

tamanho_da_lista = len(lista)
Listas
● append

quadrados = []

for num in range(1, 6):


quadrado = num ** 2
quadrados.append(quadrado) lista usando append()

print(quadrados)
Listas
● insert

lista = [1, 2, 3, 4, 5]

lista.insert(2, 10)

print(lista)
Listas
● remove

lista = [1, 2, 3, 4, 5]

lista.remove(3)

print(lista)
Listas
● Manipulação

append(valor)

index(valor)

insert(posição, valor)

remove(valor)

pop()

count(valor)

sort()
Estrutura condicional (if-elif-else)
● SE hoje é feriado ENTÃO durmo, SENÃO faço nada.
● Exemplo:

if (a == b):
print(a)
elif (a > b):
print(b)
else:
print(a+b)
Estruturas de repetição (for/while)
● Serve para executar determinadas instruções n vezes.
● Exemplo for:

for i in range(10):
print(i)

● Exemplo while:
while n < 10:
print(n)
n = n+1
Listas
● Percorrendo a lista

for valor in lista:


print(valor)
Estrutura de controle de loop (break)
● Serve para sair do loop
● Exemplo:

for i in range(10):
if i == 5:
break
print(i)
Estrutura de controle de loop (continue)
● Serve para pular a iteração atual e continuar com a próxima
iteração
● Exemplo:
for i in range(10):
if i % 2 == 0:
continue
print(i)
Try-Except
● Serve para lidar com exceções
● Exemplo:

try:
resultado = 10 / 0
except ZeroDivisionError:
print("Erro: divisão por zero.")
Função
● É um bloco de código reutilizável que executa uma tarefa
específica quando é chamada
● Exemplo:
def somar(a, b):
return a + b

resultado = somar(3, 5)
print(resultado)
Exercícios
1. Faça um programa que calcule a média entre 3 números.
2. Calcule a área de uma esfera, dado o raio. Use 3.1415926 para o
valor de π.
3. Escreva um programa que mostre todos os números pares no
intervalo de 1 a 40 de forma decrescente, utilizando o
comando while. Depois faça o mesmo, mas desta vez,
utilizando o comando for.
Exercícios
4. Faça um programa que calcule a média de um aluno. A média é
composta por 2 notas. Caso seja maior ou igual a 7, mostre
“Aprovado”. Caso esteja entre 3 e 7, mostre “Avaliação final”. Caso
seja menor que 3, mostre “Reprovado”.

5. Repita o exercício anterior, mas para 10 alunos.


Exercícios
6. Escreva um programa que leia 20 notas de alunos de uma
turma. O programa deve calcular a média da turma e apresentar
na tela apenas as notas dos alunos que ficaram acima da média
calculada.

7. Faça um programa contendo uma função que retorne True se o


número digitado for positivo ou False se for negativo.
Exercícios
8. Faça um programa contendo uma função que receba dois
números positivos por parâmetro e retorne a soma dos N
números inteiros entre eles.

9. Faça um programa contendo uma função que receba três


números inteiros a, b e c. A função deverá retornar o maior deles.

10. Faça um programa que mostre a tabuada de 1 a 10.


02
Flask
e API REST
Definições
● API (interface de programação de aplicações)
○ Permitem a criação de sistemas complexos e
interoperáveis, facilitando a integração entre diferentes
componentes de software e serviços
● REST (Representational State Transfer)
○ Conjunto de princípios e definições necessários para a
criação de um projeto com interfaces bem definidas
● API RESTful
○ Implementação de uma API web que segue os princípios e
práticas do estilo arquitetural REST
Definições
● Métodos HTTP
○ conjunto de comandos que definem as operações que
podem ser realizadas em recursos identificados por URIs
(Uniform Resource Identifiers)
Definições
● Métodos HTTP
○ GET: recupera dados de um recurso específico
○ POST: envia dados para serem processados a um recurso
específico
○ PUT: atualiza um recurso específico com os dados
fornecidos
○ PATCH: aplica modificações parciais a um recurso
○ DELETE: exclui um recurso específico do servidor
Definições
● Framework
○ conjunto de bibliotecas, ferramentas e convenções que
fornecem uma estrutura para desenvolver software
● Flask
○ microframework web para Python, projetado para ser
simples, leve e fácil de usar
Instalação

pip install Flask

flask --version
Aplicação

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
Aplicação

$ flask --app hello run


* Serving Flask app 'hello'
* Running on http://127.0.0.1:5000 (Press
CTRL+C to quit)
Aplicação

from flask import Flask, request

@app.route('/login', methods=['GET', 'POST'])


def login():
if request.method == 'POST':
return "entrou no POST"
else:
return "entrou no GET"
Aplicação
Outra forma

@app.get('/login')
def login_get():
return "entrou no GET"

@app.post('/login')
def login_post():
return "entrou no POST"
Variáveis

@app.get('/user/<username>')
def show_user_profile(username):
return f'User {escape(username)}'

@app.get('/text/<int:text_id>')
def show_text(text_id):
return f'Text {text_id}'

@app.get('/path/<path:subpath>')
def show_subpath(subpath):
return f'Subpath {escape(subpath)}'
Variáveis

string texto

int inteiro

float decimal

path string que aceita /

uuid UUID string


Render

templates/hello.html
<!doctype html>
@app.get('/hello/') <title>Hello from Flask</title>
@app.get('/hello/<name>') {% if name %}
def hello(name=None): <h1>Hello {{ name }}!</h1>
return render_template('hello.html', name=name) {% else %}
<h1>Hello, World!</h1>
{% endif %}
Escrita

@app.post('/adicionar_dado', methods=['POST'])
def adicionar_dado():
novo_dado = request.form.get('novo_dado')

if not novo_dado:
return 'Erro: Nenhum dado fornecido', 400

with open('dados.txt', 'a') as arquivo:


arquivo.write(novo_dado + '\n')

return 'Novo dado adicionado com sucesso!', 200


Leitura

@app.get('/ler_arquivo')
def ler_arquivo():
try:
with open('dados.txt', 'r') as arquivo:
conteudo = arquivo.read()
return conteudo, 200
except FileNotFoundError:
return 'Erro: Arquivo não encontrado', 404
except Exception as e:
return 'Erro: ' + str(e), 500
Apagando o arquivo

@app.delete('/limpar_arquivo')
def limpar_arquivo():
try:
with open('dados.txt', 'w') as arquivo:
arquivo.truncate()

return 'Conteúdo do arquivo limpo com sucesso!', 200


except Exception as e:
return 'Erro: ' + str(e), 500
Exercício
Crie um contador de palavras em um texto

1. Endpoint de escrita
2. Endpoint de leitura
3. Lógica para contar as palavras

Desafio: Em caso de palavras repetidas, conte apenas uma vez

Exemplo: "é aqui que é aqui" = 3 palavras


Referências

● https://docs.python.org/3/
● https://www.ibm.com/topics/api
● https://www.redhat.com/en/topics/api/what-is-a-rest-api
● https://flask.palletsprojects.com/en/3.0.x/quickstart/

python
</> flask
Obrigada!
perguntas?
[email protected]

CREDITS: This presentation template was created by


Slidesgo, and includes icons by Flaticon, and
infographics & images by Freepik

Você também pode gostar