Linguagem de Programação
Linguagem de Programação
PROGRAMAÇÃO Python.
• Teleaula nº: 01
1 2
Contextualização
• Linguagem de programação: Conhecendo Python
3 4
5 6
1
Primeiros passo em Python: Primeiros passo em Python:
• Criado no início dos anos 1990 por Guido van Rossum no Stichting • Porque Python?
Mathematisch Centrum (CWI), na Holanda, foi sucessor de uma
linguagem chamada ABC.
Python é uma linguagem de programação orientada a objetos, clara e
poderosa.
• Em 2001, a Python Software Foundation (PSF) foi formada, uma
organização sem fins lucrativos criada especificamente para possuir a
Mais referências em:
propriedade intelectual relacionada ao Python.
https://wiki.python.org/moin/BeginnersGuide/Overview
7 8
tarefas de programação;
• Grande biblioteca padrão, suporta muitas tarefas de programação; variável em uma única instrução. Por exemplo, a, b = 2, 3.
9 10
11 12
2
Primeiros passo em Python: Primeiros passo em Python:
• Já podemos digitar comandos python • Mais ferramentas:
VSCode: Gratuito
13 14
Grande diferencial do projeto Anaconda é ter o Jupyter Notebook Devido a facilidade e vantagens do Colab, indicamos essa ferramenta como
(https://jupyter.org/) integrado na instalação, principalmente para o uso principal meio de trabalho para essa disciplina.
sistemas de controle de versão (como git / GitHub).
15 16
Variáveis e tipos básicos de dados em Python: Variáveis e tipos básicos de dados em Python:
• Veja alguns exemplos:
• Variáveis são espaços alocados na memória RAM para guardar valores Para saber o tipo de dado que uma variável guarda, podemos imprimir
temporariamente. seu tipo usando a função type() , veja como:
• Em Python, esses espaços não precisam ser tipados, a variável pode ser
alocada sem especificar o tipo de dado que ela aguardará.
17 18
3
Variáveis e tipos básicos de dados em Python: Variáveis e tipos básicos de dados em Python:
• Em Python, tudo é objeto! Por isso os tipos de dados aparecem com a • Temos uma variedade de formas de imprimir texto e variável em Python.
palavra "class". Vejamos algumas: podemos usar formatadores de caracteres (igual em C),
podemos usar a função format() e podemos criar uma string formatada.
Vejamos cada um: https://colab.research.google.com
• Função input() faz a leitura de um valor digitado. Veja como usar:
19 20
Variáveis e tipos básicos de dados em Python: Variáveis e tipos básicos de dados em Python:
• Usamos o hash # para criar comentários de uma linha.
print("Olá {}, bem vindo a disciplina de programação. Parabéns pelo seu • Nessa PEP, a 498, o autor destaca o uso do "modo 3" como a melhor opção
primeiro hello world".format(nome)) chamando-a de "f-strings".
Modo 3: usando strings formatadas • As strings formatadas com "f-strings" só podem ser compiladas com o
print(f"Olá {nome}, bem vindo a disciplina de programação. Parabéns pelo seu interpretador Python na versão 3.6.
21 22
Variáveis e tipos básicos de dados em Python: Variáveis e tipos básicos de dados em Python:
• Resumo das operações
• Repare como é fundamental conhecer a ordem de procedência das
matemáticas suportadas por
operações para não criar cálculos errados durante a implementação de uma
Python. Com exceção das
solução. Teste você mesmo os códigos no emulador a seguir e aproveite para
funções abs() e pow() e da
explorar outras operações.
notação de potência **, as
outras operações e sintaxe são
similares a diversas linguagens 1. Primeiro resolvem-se os parênteses, do mais interno para o mais externo.
de programação. 2. Exponenciação.
3. Multiplicação e divisão.
4. Soma e subtração.
23 24
4
Variáveis e tipos básicos de dados em Python: Variáveis e tipos básicos de dados em Python:
# Qual o resultado armazenado na variável operacao_1: 25 ou 17?
a=2 x = float(x) # aqui fazemos a conversão da string para o
operacao_1 = 2 + 3 * 5
tipo numérico
b = 0.5
# Qual o resultado armazenado na variável operacao_2: 25 ou 17?
c=1
operacao_2 = (2 + 3) * 5
y = a * x ** 2 + b * x + c
x = input("Digite o valor de x: ")
# Qual o resultado armazenado na variável operacao_3: 4 ou 1?
operacao_3 = 4 / 2 ** 2
print(f"O resultado de y para x = {x} é {y}.")
print(type(a))
# Qual o resultado armazenado na variável operacao_4: 1 ou 5?
print(type(b))
operacao_4 = 13 % 3 + 4
print(type(a))
print(type(c))
print(f"Resultado em operacao_1 = {operacao_1}")
print(type(b))
print(type(x))
print(f"Resultado em operacao_2 = {operacao_2}")
print(type(c))
print(f"Resultado em operacao_3 = {operacao_3}")
print(type(x))
print(f"Resultado em operacao_4 = {operacao_4}")
25 26
Condicionais e de
Repetição em Python
27 28
29 30
5
Estruturas Lógicas, Condicionais e de Repetição em Estruturas Lógicas, Condicionais e de Repetição em
Python Estrutura encadeada, devemos usar o Python
Estrutura condicional simples: Estrutura composta:
comando "elif", que é uma abreviação de Estruturas lógicas em Python: and, or, not
a=5 a = 10
else if.
b = 10 b=5
Podemos usar os operadores booleanos para construir
codigo_compra = 5111 estruturas de decisões mais complexas.
if a < b: if a < b:
if codigo_compra == 5222:
print("a é menor do que b") print("a é menor do que b")
print("Compra à vista.") Operador booleano and: o resultado será True, quando os dois
r=a+b r=a+b
elif codigo_compra == 5333: argumentos forem verdadeiros.
print(r) print(r)
print("Compra à prazo no boleto.") Operador booleano or: o resultado será True, quando pelo
else:
elif codigo_compra == 5444: menos um dos argumentos for verdadeiro.
print("a é maior do que b")
print("Compra à prazo no cartão.") Operador booleano not: ele irá inverter o valor do argumento.
r=a-b
else: Portanto, se o argumento for verdadeiro, a operação o transformará
print(r)
print("Código não cadastrado") em falso e vice-versa.
31 32
33 34
else:
print("Número ímpar!")
35 36
6
Estruturas Lógicas, Condicionais e de Repetição em
Python Estruturas Lógicas, Condicionais e de Repetição em
o comando "for" seguido da variável de Com o comando for, podemos usar a função
Python
controle "c", na sequência o comando "in", enumerate() para retornar à posição de cada Controle de repetição com range, break e continue:
por fim, a sequência sobre a qual a estrutura item, dentro da sequência. Considerando o Python requer uma sequência para que ocorra a iteração. Para
deve iterar. Os dois pontos marcam o início exemplo dado, no qual atribuímos a variável
criar uma sequência numérica de iteração em Python, podemos usar a
do bloco que deve ser repetido. "nome" o valor de "Guido", "G" ocupa a
posição 0 na sequência, "u" ocupa a posição 1,
função range().
"i" a posição 2, e assim por diante. Veja que a
nome = "Guido" variável "i" é usada para capturar a posição e a
for x in range(5):
for c in nome: variável "c" cada caractere da palavra.
print(x)
print(c)
nome = "Guido"
No comando, "x" é a variável de controle, ou seja, a cada
for i, c in enumerate(nome):
iteração do laço, seu valor é alterado, já a função range() foi utilizada
print(f"Posição = {i}, valor = {c}")
para criar um "iterable" numérico (objeto iterável) para que as
repetições acontecesse.
37 38
39 40
if c == 'a':
for c in disciplina: Pense onde podemos
break
if c == 'a': utilizar as vantagens da
continue
else:
else:
programação em
print(c)
print(c) Python
41 42
7
Procura letras e posição
Vamos criar uma solução que procura pelas vogais “A", “o" em
um texto. Toda vez que essas letras são encontradas, devemos
informar que encontramos e qual posição do texto ela está. Nosso
Exercício: Procura texto será:
43 44
Mediante Funções
"""
for i, c in enumerate(texto):
if c == 'A' or c == 'o':
print(f"Vogal '{c}' encontrada, na posição {i}")
else:
continue
45 46
Implementando Soluções em Python Mediante Funções Implementando Soluções em Python Mediante Funções
Solução dividindo-a Solução dividindo-a em funções (blocos), além de ser uma
em funções (blocos), além de boa prática de programação, tal abordagem facilita odesenvolvimento.
ser uma boa prática de Função built-in é um objeto que está integrado ao núcleo do
programação, tal abordagem interpretador, não precisa ser feita nenhuma instalação adicional.
facilita a leitura, a manutenção • print() é uma função built-in do interpretador Python.
e a escalabilidade da solução.
47 48
8
Implementando Soluções em Python Mediante Funções Implementando Soluções em Python Mediante Funções
a=2
A função eval() usada no código recebe
b=1 Função definida pelo usuário
como entrada uma string digitada pelo
usuário, que nesse caso é uma equação
Podemos escolher o nome da função, sua entrada e sua saída.
linear. Essa entrada é analisada e avaliada equacao = input("Digite a fórmula geral
Nomes das funções devem estar em minúsculas, com as palavras separadas
da equação linear (a * x + b): ")
como uma expressão Python pela função por underline, conforme necessário, para melhorar a legibilidade.
eval(). Veja que, para cada valor de x, a print(f"\nA entrada do usuário Os nomes de variáveis seguem a mesma convenção que os nomes
fórmula é executada como uma expressão
{equacao} é do tipo {type(equacao)}") de funções.
É preciso abrir e fechar parênteses, pois é dentro dos parênteses
matemática (linha 8) e retorna um valor
que os parâmetros de entrada da função devem ser definidos.
diferente. Prudência para o uso, pois é for x in range(5):
Usamos o comando "def" para indicar que vamos definir uma
fácil alguém externo à aplicação fazer y = eval(equacao) função. Em seguida, escolhemos o nome da função "imprimir_mensagem"
uma "injection" de código intruso. print(f"\nResultado da equação para x
= {x} é {y}")
49 50
Implementando Soluções em Python Mediante Funções Implementando Soluções em Python Mediante Funções
A função recebe dois def imprimir_mensagem(disciplina, curso):
Funções com parâmetros definidos e indefinidos
parâmetros. Esses parâmetros são print(f"Minha primeira função em Python
variáveis locais, ou seja, são variáveis desenvolvida na disciplina: {disciplina}, do curso:
Sobre os argumentos que uma função pode receber, para nosso estudo,
que existem somente dentro da {curso}.")
vamos classificar em seis grupos:
função. Na linha 2, imprimimos uma 01. Parâmetro posicional, obrigatório, sem valor default (padrão), tentar um
mensagem usando as variáveis invocar a função, sem passar os parâmetros, acarreta um erro.
passadas como parâmetro e na linha 5, imprimir_mensagem("Python", "ADS")
51 52
Implementando Soluções em Python Mediante Funções Implementando Soluções em Python Mediante Funções
02. Parâmetro posicional, obrigatório, com valor default (padrão), quando 03. Parâmetro nominal, obrigatório, sem valor default (padrão). Não mais
a função for invocada, caso nenhum valor seja passado, o valor default é utilizado. importa a posição dos parâmetros, pois eles serão identificados pelo nome, a
chamada da função é obrigatório passar todos os valores e sem valor default
def calcular_desconto(valor, desconto=0): # O parâmetro desconto possui zero valor default def converter_maiuscula(texto, flag_maiuscula):
else:
print(f"\nPrimeiro valor a ser pago = {valor1}") texto = converter_maiuscula(flag_maiuscula=True, texto="João") # Passagem nominal de parâmetros
53 54
9
Implementando Soluções em Python Mediante Funções Implementando Soluções em Python Mediante Funções
04.Parâmetro nominal, obrigatório, com valor default (padrão), nesse A função poderá receber um def imprimir_parametros(*args):
grupo os parâmetros podem possuir valor default. número diferente de parâmetros a qtde_parametros = len(args)
55 56
Implementando Soluções em Python Mediante Funções Implementando Soluções em Python Mediante Funções
06. Parâmetro nominal e def imprimir_parametros(**kwargs): Funções anônimas em Python
não obrigatório (kwargs), agora a print(f"Tipo de objeto recebido = {type(kwargs)}\n")
Uma função anônima é uma função que não é construída com o "def" e,
passagem é feita de modo nominal e qtde_parametros = len(kwargs)
por isso, não possui nome. Esse tipo de construção é útil, quando a função faz
print(f"Quantidade de parâmetros = {qtde_parametros}")
não posicional, o que nos permite somente uma ação e é usada uma única vez. Poderoso recurso da linguagem
acessar tanto o valor do parâmetro Python: a expressão "lambda".
for chave, valor in kwargs.items():
quanto o nome da variável que o
print(f"variável = {chave}, valor = {valor}")
armazena.
somar = lambda x, y: x + y
print("\nChamada 1") somar(x=5, y=3)
imprimir_parametros(cidade="São Paulo", idade=33,
nome="João")
print("\nChamada 2")
imprimir_parametros(desconto=10, valor=100)
57 58
Qual a importância de
saber utilizar funções em Recapitulando
linguagem de
programação Python?
59 60
10
Recapitulando
• Primeiros passos em Python
61
11