100% acharam este documento útil (1 voto)
54 visualizações61 páginas

Linguagem de Programação: Conhecendo Python

Este documento apresenta uma introdução à linguagem de programação Python, abordando seus conceitos básicos como variáveis, tipos de dados, estruturas condicionais e de repetição.

Enviado por

Alberto Gomes
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
100% acharam este documento útil (1 voto)
54 visualizações61 páginas

Linguagem de Programação: Conhecendo Python

Este documento apresenta uma introdução à linguagem de programação Python, abordando seus conceitos básicos como variáveis, tipos de dados, estruturas condicionais e de repetição.

Enviado por

Alberto Gomes
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/ 61

LINGUAGEM DE

PROGRAMAÇÃO
Linguagem de programação:
Conhecendo Python

Prof. Me. Wesley Viana


• Unidade de Ensino: 01

• Competência da Unidade: Conhecer a linguagem de programação


Python

• Resumo: Saber utilizar modelos de programação na linguagem


Python.

• Palavras-chave: Linguagem de programação; Python;


Programação; Desenvolvimento; Algoritmos.

• Título da Teleaula: Linguagem de programação: Conhecendo


Python

• Teleaula nº: 01
Contextualização
• Linguagem de programação: Conhecendo Python

• A linguagem Python

• Ferramentas

• Exemplos de códigos
Linguagem de
programação:
Conhecendo Python
O que é Linguagem de Programação?
• As linguagens de programação foram criadas para solucionar
qualquer tipo de problema na área tecnológica computacional.

• Cada linguagem possui suas particularidades.

• Permite que um programador crie programas a partir de um


conjunto de ordens, ações consecutivas, dados e algoritmos.

• Python é uma linguagem de script de alto nível, de tipagem forte


e dinâmica
Primeiros passo em Python:
• Mito “Hello World”, acessar https://trinket.io/python, digite o
comando, print("hello world!")
Primeiros passo em Python:

• Criado no início dos anos 1990 por Guido van Rossum no Stichting
Mathematisch Centrum (CWI), na Holanda, foi sucessor de uma
linguagem chamada ABC.

• Em 2001, a Python Software Foundation (PSF) foi formada, uma


organização sem fins lucrativos criada especificamente para possuir a
propriedade intelectual relacionada ao Python.
Primeiros passo em Python:

• Porque Python?

Python é uma linguagem de programação orientada a objetos, clara e


poderosa.

Mais referências em:


https://wiki.python.org/moin/BeginnersGuide/Overview
Primeiros passo em Python:

• Usa sintaxe clara, facilitando a leitura dos programas que você


escreve;

• Linguagem fácil, ideal para o desenvolvimento de protótipos e outras


tarefas de programação;

• Grande biblioteca padrão, suporta muitas tarefas de programação;


Primeiros passo em Python:
• Inúmeras bibliotecas que estendem seu poder de atuação.

• Linguagem interpretada, ou seja, uma vez escrito o código, este não


precisa ser convertido em linguagem de máquina por um processo de
compilação;

• Permite atribuição múltipla. Podemos atribuir valores a mais de uma


variável em uma única instrução. Por exemplo, a, b = 2, 3.
Primeiros passo em Python:
• Uma das grandes características da linguagem é sua sintaxe. As
regras são definidas pelo PEP 8 (Python Enhancement Proposal) e
dizem respeito a formatação, identação, parâmetros em funções e
tudo mais que possa estar relacionado à sintaxe do código.

• O interpretador Python 3 utiliza unicode por padrão, o que torna


possível usar nomes de variáveis com acento e até outros caracteres
especiais, porém não é uma boa prática.

• Códigos em Python pode ser feito tanto em local quanto em nuvem.


Primeiros passo em Python:
• Instalação do interpretador Python

https://www.python.org/downloads/

Na instalação marcar a opção Add Python 3.X to PATH.


Primeiros passo em Python:
• Já podemos digitar comandos python
Primeiros passo em Python:
• Mais ferramentas:

Para implementação de soluções, utiliza-se a IDE, (Integrated


Development Environment) ou Ambiente de Desenvolvimento Integrado.

Duas IDE’s disputam a preferência dos desenvolvedores Python, o


PyCharm e o Visual Studio Code (VSCode).

PyCharm: Professional e Community, sendo a primeira paga e a


segunda gratuita.

VSCode: Gratuito
Primeiros passo em Python:
• Mais ferramentas (Iniciante):

Python Anaconda (https://www.anaconda.com/distribution/). Consiste na união


de ferramentas Python, compostas por bibliotecas e IDE’s

Possuí tanto o interpretador Python quanto bibliotecas, duas interfaces de


desenvolvimento: a IDE spyder e o projeto Jupyter.

Grande diferencial do projeto Anaconda é ter o Jupyter Notebook


(https://jupyter.org/) integrado na instalação, principalmente para o uso
sistemas de controle de versão (como git / GitHub).
Primeiros passo em Python:
• Mais ferramentas :

Google Colaboratory (Colab) https://colab.research.google.com/notebooks/

Especialmente adequado para aprendizado de máquina, análise de dados e


educação. Colab é um serviço de notebook Jupyter hospedado que não requer
configuração para ser usado.

Devido a facilidade e vantagens do Colab, indicamos essa ferramenta como


principal meio de trabalho para essa disciplina.
Variáveis e tipos básicos de dados em Python:

• Variáveis são espaços alocados na memória RAM para guardar valores


temporariamente.

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

• As variáveis são tipadas dinamicamente nessa linguagem.


Variáveis e tipos básicos de dados em Python:
• Veja alguns exemplos:

Para saber o tipo de dado que uma variável guarda, podemos imprimir
seu tipo usando a função type() , veja como:
Variáveis e tipos básicos de dados em Python:
• Em Python, tudo é objeto! Por isso os tipos de dados aparecem com a
palavra "class".

• Função input() faz a leitura de um valor digitado. Veja como usar:

nome = input("Digite um nome: ")

print(nome)
Variáveis e tipos básicos de dados em Python:
• Temos uma variedade de formas de imprimir texto e variável em Python.
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

Modo 1: usando formatadores de caracteres (igual na linguagem C):

print("Olá %s, bem vindo a disciplina de programação. Parabéns pelo seu


primeiro hello world" % (nome))
Variáveis e tipos básicos de dados em Python:

Modo 2: usando a função format() para imprimir variável e texto:

print("Olá {}, bem vindo a disciplina de programação. Parabéns pelo seu


primeiro hello world".format(nome))

Modo 3: usando strings formatadas

print(f"Olá {nome}, bem vindo a disciplina de programação. Parabéns pelo seu


primeiro hello world")
Variáveis e tipos básicos de dados em Python:
• Usamos o hash # para criar comentários de uma linha.

• Nessa PEP, a 498, o autor destaca o uso do "modo 3" como a melhor opção
chamando-a de "f-strings".

• As strings formatadas com "f-strings" só podem ser compiladas com o


interpretador Python na versão 3.6.
Variáveis e tipos básicos de dados em Python:
• Resumo das operações
matemáticas suportadas por
Python. Com exceção das
funções abs() e pow() e da
notação de potência **, as
outras operações e sintaxe são
similares a diversas linguagens
de programação.
Variáveis e tipos básicos de dados em Python:
• Repare como é fundamental conhecer a ordem de procedência das
operações para não criar cálculos errados durante a implementação de uma
solução. Teste você mesmo os códigos no emulador a seguir e aproveite para
explorar outras operações.

1. Primeiro resolvem-se os parênteses, do mais interno para o mais externo.

2. Exponenciação.

3. Multiplicação e divisão.

4. Soma e subtração.
Variáveis e tipos básicos de dados em Python:
# Qual o resultado armazenado na variável operacao_1: 25 ou 17?

operacao_1 = 2 + 3 * 5

# Qual o resultado armazenado na variável operacao_2: 25 ou 17?

operacao_2 = (2 + 3) * 5

# Qual o resultado armazenado na variável operacao_3: 4 ou 1?

operacao_3 = 4 / 2 ** 2

# Qual o resultado armazenado na variável operacao_4: 1 ou 5?

operacao_4 = 13 % 3 + 4

print(f"Resultado em operacao_1 = {operacao_1}")

print(f"Resultado em operacao_2 = {operacao_2}")

print(f"Resultado em operacao_3 = {operacao_3}")

print(f"Resultado em operacao_4 = {operacao_4}")


Variáveis e tipos básicos de dados em Python:
a=2 x = float(x) # aqui fazemos a conversão da string para o
tipo numérico
b = 0.5

c=1
y = a * x ** 2 + b * x + c
x = input("Digite o valor de x: ")

print(f"O resultado de y para x = {x} é {y}.")


print(type(a))

print(type(b))
print(type(a))
print(type(c))
print(type(b))
print(type(x))
print(type(c))

print(type(x))
Estruturas Lógicas,
Condicionais e de
Repetição em Python
Estruturas Lógicas, Condicionais e de Repetição em
Python
Em geral, em um programa você tem opções de caminhos ou
lista de comandos que nada mais são que trechos de códigos que
podem ser executados, devendo-se tomar decisões sobre qual trecho
de código será executado em um determinado momento.
Estruturas Lógicas, Condicionais e de Repetição em
Python
Para tomarmos decisões, precisamos dos operadores relacionais:
Estruturas Lógicas, Condicionais e de Repetição em
Python
O comando if.. else.. significam se.. senão.. e são usados para constuir
as estruturas condicionais.
Estruturas Lógicas, Condicionais e de Repetição em
Python Estrutura encadeada, devemos usar o
Estrutura condicional simples: Estrutura composta:
comando "elif", que é uma abreviação de
a=5 a = 10
else if.
b = 10 b=5

codigo_compra = 5111
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.")
r=a+b r=a+b
elif codigo_compra == 5333:
print(r) print(r)
print("Compra à prazo no boleto.")
else:
elif codigo_compra == 5444:
print("a é maior do que b")
print("Compra à prazo no cartão.")
r=a-b
else:
print(r)
print("Código não cadastrado")
Estruturas Lógicas, Condicionais e de Repetição em
Python
Estruturas lógicas em Python: and, or, not

Podemos usar os operadores booleanos para construir


estruturas de decisões mais complexas.

Operador booleano and: o resultado será True, quando os dois


argumentos forem verdadeiros.
Operador booleano or: o resultado será True, quando pelo
menos um dos argumentos for verdadeiro.
Operador booleano not: ele irá inverter o valor do argumento.
Portanto, se o argumento for verdadeiro, a operação o transformará
em falso e vice-versa.
Estruturas Lógicas, Condicionais e de Repetição em
Python
Estrutura condicional usando os operadores booleanos. Um Assim como as operações matemáticas

aluno só pode ser aprovado caso ele tenha menos de 5 faltas e possuem ordem de precedência, as

média final igual ou superior a 7. operações booleanas também têm. Essa


prioridade obedece à seguinte ordem: not
primeiro, and em seguida e or por último
qtde_faltas = int(input("Digite a quantidade de faltas: "))
(BANIN, 2018).
media_final = float(input("Digite a média final: "))

A = 15
if qtde_faltas <= 5 and media_final >= 7:
B=9
print("Aluno aprovado!")
C=9
else:

print("Aluno reprovado!")
print(B == C or A < B and A < C)

print((B == C or A < B) and A < C )


Estruturas Lógicas, Condicionais e de Repetição em
Python
Estruturas de repetição em
Python: while e for

Em uma estrutura de
repetição sempre haverá uma
estrutura decisão, pois a
repetição de um trecho de
código sempre está associada
a uma condição. Ou seja, um
bloco de comandos será
executado repetidas vezes,
até que uma condição não
seja mais satisfeita.
Estruturas Lógicas, Condicionais e de Repetição em
Python
O comando while deve ser utilizado para construir e Todo o bloco com a identação de uma

controlar a estrutura decisão, sempre que o número de tabulação (4 espaços) faz parte da

repetições não seja conhecido. estrutura de repetição.

Lembre: todos os blocos de comandos em


Python são controlados pela indentação.
numero = 1

while numero != 0:

numero = int(input("Digite um número: "))

if numero % 2 == 0:

print("Número par!")

else:

print("Número ímpar!")
Estruturas Lógicas, Condicionais e de Repetição em
Python
Na prática é comum utilizarmos esse tipo de estrutura de
repetição, com while, para deixarmos serviços executando em
servidores.

A instrução Python for itera sobre os itens de qualquer


sequência, por exemplo, iterar sobre os caracteres de uma palavra,
pois uma palavra é um tipo de sequência.
Estruturas Lógicas, Condicionais e de Repetição em
Python
Com o comando for, podemos usar a função
o comando "for" seguido da variável de
enumerate() para retornar à posição de cada
controle "c", na sequência o comando "in",
item, dentro da sequência. Considerando o
por fim, a sequência sobre a qual a estrutura
deve iterar. Os dois pontos marcam o início exemplo dado, no qual atribuímos a variável
"nome" o valor de "Guido", "G" ocupa a
do bloco que deve ser repetido.
posição 0 na sequência, "u" ocupa a posição 1,
"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 c in nome: variável "c" cada caractere da palavra.

print(c)

nome = "Guido"

for i, c in enumerate(nome):

print(f"Posição = {i}, valor = {c}")


Estruturas Lógicas, Condicionais e de Repetição em
Python
Controle de repetição com range, break e continue:
Python requer uma sequência para que ocorra a iteração. Para
criar uma sequência numérica de iteração em Python, podemos usar a
função range().

for x in range(5):
print(x)

No comando, "x" é a variável de controle, ou seja, a cada


iteração do laço, seu valor é alterado, já a função range() foi utilizada
para criar um "iterable" numérico (objeto iterável) para que as
repetições acontecesse.
Estruturas Lógicas, Condicionais e de Repetição em
Python
# Método 1
A função range() pode ser usada de três formas
for i in range(10):
distintas:
print(i)
Método 1: passando um único argumento que
representa a quantidade de vezes que o laço deve
# Método 2
repetir;
for i in range(0, 5):
Método 2: passando dois argumentos, um que print(i)
representa o início das repetições e outro o limite
superior (NÃO INCLUÍDO) do valor da variável de #Método 3
controle; for i in range(0, 20, 2):

Método 3: Passando três argumentos, um que print(i)

representa o início das repetições; outro, o limite


superior (NÃO INCLUÍDO) do valor da variável de
controle e um que representa o incremento. Observe
as três maneiras a seguir.
Estruturas Lógicas, Condicionais e de Repetição em
Python
Além de controlar as iterações com o tamanho da sequência,
outra forma de influenciar no fluxo é por meio dos comandos "break" e
"continue". O comando break para a execução de uma estrutura de
repetição, já com o comando continue, conseguimos "pular" algumas
execuções, dependendo de uma condição.
Estruturas Lógicas, Condicionais e de Repetição em
Python
# Exemplo de uso do break # Exemplo de uso do continue

disciplina = "Linguagem de programação" disciplina = "Linguagem de


programação"
for c in disciplina:
for c in disciplina:
if c == 'a':
if c == 'a':
break
continue
else:
else:
print(c)
print(c)
Pense onde podemos
utilizar as vantagens da
programação em
Python
Exercício: Procura
letras e posição
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
texto será:

texto = A inserção de comentários no código do programa é


uma prática normal. Em função disso, toda linguagem de programação
tem alguma maneira de permitir que comentários sejam inseridos nos
programas. O objetivo é adicionar descrições em partes do código, seja
para documentá-lo ou para adicionar uma descrição do algoritmo
implementado (BANIN, 2018, p. 45).
Procura letras e posição
texto = """
A inserção de comentários no código do programa é uma prátic
a normal.
Em função disso, toda linguagem de programação tem alguma
maneira de permitir que comentários sejam inseridos nos progr
amas.
O objetivo é adicionar descrições em partes do código, seja par
a documentá-
lo ou para adicionar uma descrição do algoritmo implementado
(BANIN, p. 45, 2018)."
"""
for i, c in enumerate(texto):
if c == 'A' or c == 'o':
print(f"Vogal '{c}' encontrada, na posição {i}")
else:
continue
Implementando
Soluções em Python
Mediante Funções
Implementando Soluções em Python Mediante Funções
Solução dividindo-a
em funções (blocos), além de
ser uma boa prática de
programação, tal abordagem
facilita a leitura, a manutenção
e a escalabilidade da solução.

• print() é uma função built-


in do interpretador Python.
Implementando Soluções em Python Mediante Funções
Solução dividindo-a em funções (blocos), além de ser uma
boa prática de programação, tal abordagem facilita odesenvolvimento.
Função built-in é um objeto que está integrado ao núcleo do
interpretador, não precisa ser feita nenhuma instalação adicional.
• print() é uma função built-in do interpretador Python.

• algumas funções que já usamos:


enumerate(), para retornar a posição de um valor em uma sequência.
input(), para capturar um valor digitado no teclado.
int() e float(), para converter um valor no tipo inteiro ou float.
range(), para criar uma sequência numérica.
Implementando Soluções em Python Mediante Funções
a=2
A função eval() usada no código recebe
b=1
como entrada uma string digitada pelo
usuário, que nesse caso é uma equação
linear. Essa entrada é analisada e avaliada equacao = input("Digite a fórmula geral
da equação linear (a * x + b): ")
como uma expressão Python pela função
eval(). Veja que, para cada valor de x, a print(f"\nA entrada do usuário
{equacao} é do tipo {type(equacao)}")
fórmula é executada como uma expressão
matemática (linha 8) e retorna um valor
diferente. Prudência para o uso, pois é for x in range(5):

fácil alguém externo à aplicação fazer y = eval(equacao)

uma "injection" de código intruso. print(f"\nResultado da equação para x


= {x} é {y}")
Implementando Soluções em Python Mediante Funções
Função definida pelo usuário

Podemos escolher o nome da função, sua entrada e sua saída.


Nomes das funções devem estar em minúsculas, com as palavras separadas
por underline, conforme necessário, para melhorar a legibilidade.
Os nomes de variáveis seguem a mesma convenção que os nomes
de funções.
É preciso abrir e fechar parênteses, pois é dentro dos parênteses
que os parâmetros de entrada da função devem ser definidos.
Usamos o comando "def" para indicar que vamos definir uma
função. Em seguida, escolhemos o nome da função "imprimir_mensagem"
Implementando Soluções em Python Mediante Funções
A função recebe dois def imprimir_mensagem(disciplina, curso):

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:

que existem somente dentro da {curso}.")

função. Na linha 2, imprimimos uma


mensagem usando as variáveis
passadas como parâmetro e na linha 5, imprimir_mensagem("Python", "ADS")
invocamos a função, passando como
parâmetros dois valores do tipo string.
O valor "Python" vai para o primeiro
parâmetro da função e o valor "ADS"
vai para o segundo parâmetro.
Implementando Soluções em Python Mediante Funções
Funções com parâmetros definidos e indefinidos

Sobre os argumentos que uma função pode receber, para nosso estudo,
vamos classificar em seis grupos:
01. Parâmetro posicional, obrigatório, sem valor default (padrão), tentar um
invocar a função, sem passar os parâmetros, acarreta um erro.

def somar(a, b):


return a + b

r = somar(2, 3)
print(r)
Implementando Soluções em Python Mediante Funções
02. Parâmetro posicional, obrigatório, com valor default (padrão), quando
a função for invocada, caso nenhum valor seja passado, o valor default é utilizado.

def calcular_desconto(valor, desconto=0): # O parâmetro desconto possui zero valor default

valor_com_desconto = valor - (valor * desconto)

return valor_com_desconto

valor1 = calcular_desconto(100) # Não aplicar nenhum desconto

valor2 = calcular_desconto(100, 0.25) # Aplicar desconto de 25%

print(f"\nPrimeiro valor a ser pago = {valor1}")

print(f"\nSegundo valor a ser pago = {valor2}")


Implementando Soluções em Python Mediante Funções
03. Parâmetro nominal, obrigatório, sem valor default (padrão). Não mais
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 converter_maiuscula(texto, flag_maiuscula):

if flag_maiuscula:

return texto.upper()

else:

return texto.lower()

texto = converter_maiuscula(flag_maiuscula=True, texto="João") # Passagem nominal de parâmetros

print(texto)
Implementando Soluções em Python Mediante Funções
04.Parâmetro nominal, obrigatório, com valor default (padrão), nesse
grupo os parâmetros podem possuir valor default.
def converter_minuscula(texto, flag_minuscula=True): # O parâmetro flag_minuscula possui True como
valor default

if flag_minuscula:

return texto.lower()

else:

return texto.upper()

texto1 = converter_minuscula(flag_minuscula=True, texto="LINGUAGEM de Programação")

texto2 = converter_minuscula(texto="LINGUAGEM de Programação")

print(f"\nTexto 1 = {texto1}")

print(f"\nTexto 2 = {texto2}")
Implementando Soluções em Python Mediante Funções
A função poderá receber um def imprimir_parametros(*args):

número diferente de parâmetros a qtde_parametros = len(args)

print(f"Quantidade de parâmetros = {qtde_parametros}")


cada invocação. Esse cenário é o que
caracteriza os grupos 5 e 6.
for i, valor in enumerate(args):

print(f"Posição = {i}, valor = {valor}")


05. Parâmetro posicional e não
obrigatório (args), a passagem de print("\nChamada 1")
valores é feita de modo posicial, imprimir_parametros("São Paulo", 10, 23.78, "João")
porém a quantidade não é
conhecida. print("\nChamada 2")

imprimir_parametros(10, "São Paulo")


Implementando Soluções em Python Mediante Funções
06. Parâmetro nominal e def imprimir_parametros(**kwargs):

não obrigatório (kwargs), agora a print(f"Tipo de objeto recebido = {type(kwargs)}\n")

qtde_parametros = len(kwargs)
passagem é feita de modo nominal e
print(f"Quantidade de parâmetros = {qtde_parametros}")
não posicional, o que nos permite
acessar tanto o valor do parâmetro
for chave, valor in kwargs.items():
quanto o nome da variável que o
print(f"variável = {chave}, valor = {valor}")
armazena.

print("\nChamada 1")

imprimir_parametros(cidade="São Paulo", idade=33,


nome="João")

print("\nChamada 2")

imprimir_parametros(desconto=10, valor=100)
Implementando Soluções em Python Mediante Funções
Funções anônimas em Python

Uma função anônima é uma função que não é construída com o "def" e,
por isso, não possui nome. Esse tipo de construção é útil, quando a função faz
somente uma ação e é usada uma única vez. Poderoso recurso da linguagem
Python: a expressão "lambda".

somar = lambda x, y: x + y

somar(x=5, y=3)
Qual a importância de
saber utilizar funções em
linguagem de
programação Python?
Recapitulando
Recapitulando
• Primeiros passos em Python

• Variáveis e tipos básicos de dados em Python

• Estruturas Lógicas, Condicionais e de Repetição em Python

• Implementando Soluções em Python Mediante Funções

• Importância de saber utilizar modelos de estrutura de dados

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy