Curso Online:
Programação de Python
Programação em Python.....................................................................................2
Como funciona a sintaxe básica do Python........................................................5
Configuração do ambiente...................................................................................7
Primeiros passos com Python.............................................................................9
Indentação no Python........................................................................................11
Operadores de atribuição..................................................................................14
Operadores Aritméticos.....................................................................................16
Condicional if-else e if-elif-else..........................................................................18
For-else e While-else.........................................................................................20
Tratamento de exceções...................................................................................23
Orientação a Objetos no Python.......................................................................25
Referências bibliográficas.................................................................................29
1
PROGRAMAÇÃO EM PYTHON
Python é uma linguagem de programação de alto nível, interpretada,
de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e
forte. Foi lançada por Guido van Rossum em 1991. Atualmente possui um
modelo de desenvolvimento comunitário, aberto e gerenciado pela organização
sem fins lucrativos Python Software Foundation. Apesar de várias partes da
linguagem possuírem padrões e especificações formais, a linguagem como um
todo não é formalmente especificada. O padrão de facto é a
implementação CPython.
A linguagem foi projetada com a filosofia de enfatizar a importância do esforço
do programador sobre o esforço computacional. Prioriza a legibilidade do
código sobre a velocidade ou expressividade. Combina uma sintaxe concisa e
clara com os recursos poderosos de sua biblioteca padrão e
por módulos e frameworks desenvolvidos por terceiros.
Python é uma linguagem de propósito geral de alto nível, multiparadigma,
suporta o paradigma orientado a objetos, imperativo, funcional e procedural.
Possui tipagem dinâmica e uma de suas principais características é permitir a
fácil leitura do código e exigir poucas linhas de código se comparado ao
mesmo programa em outras linguagens. Devido às suas características, ela é
principalmente utilizada para processamento de textos, dados científicos e
criação de CGIs para páginas dinâmicas para a web. Foi considerada pelo
público a 3ª linguagem "mais amada", de acordo com uma pesquisa conduzida
pelo site Stack Overflow em 2018, e está entre as 5 linguagens mais populares,
de acordo com uma pesquisa conduzida pela RedMonk.
O nome Python teve a sua origem no grupo humorístico britânico Monty
Python,[8] criador do programa Monty Python's Flying Circus, embora muitas
pessoas façam associação com o réptil do mesmo nome
(em português, píton ou pitão).
2
A tipagem de Python é forte, pois os valores e objetos têm tipos bem definidos
e não sofrem coerções como em C ou Perl. São disponibilizados diversos tipos
de dados nativos:
O Python 3 define as seguintes palavras reservadas:
False None True and as
assert break class continue
def del elif else except
finally for from global if
import in is lambda not
nonlocal or pass raise try
return while with yield
No segundo capítulo do Manual de Referência da Linguagem Python é citado
que a análise léxica é uma análise do interpretador em si, os programas são
lidos por um analisador sintático que divide o código em tokens.
Todo programa é dividido em linhas lógicas que são separadas
pelo token NEWLINE ou NOVA LINHA, as linhas físicas são trechos de código
divididos pelo caractere ENTER. Linhas lógicas não podem ultrapassar linhas
físicas com exceção de junção de linhas, por exemplo:
3
if resultado > 2 and \
1 <= 5 and \
2 < 5:
print ('Resultado: %f' % d)
ou
MESES_DO_ANO = ['janeiro', 'fevereiro', 'março',
'abril', 'maio', 'junho',
'julho', 'agosto', 'setembro',
'outubro', 'novembro', 'dezembro']
Para a delimitação de blocos de códigos, os delimitadores são colocados em
uma pilha e diferenciados por sua indentação, iniciando a pilha com valor 0
(zero) e colocando valores maiores que os anteriores na pilha. Para cada
começo de linha, o nível de indentação é comparado com o valor do topo da
pilha. Se o número da linha for igual ao topo da pilha, a pilha não é alterada. Se
o valor for maior, a pilha recebe o nível de indentação da linha e o
nome INDENT (empilhamento). Se o nível de indentação for menor, então é
desempilhado até chegar a um nível de indentação recebendo o
nome DEDENT (desempilhamento). Se não encontrar nenhum valor, é gerado
um erro de indentação.
Abaixo um exemplo de permutação, retirado do capítulo 2.1 sobre Estrutura de
linhas na Análise léxica do Manual de Referência da linguagem (Language
Reference Manual):
def perm(l): NOVA LINHA
INDENT if len(l) <= 1: NOVA LINHA
INDENT return[1] NOVA LINHA
DEDENT r = [ ] NOVA LINHA
for i in range(len(l)): NOVA LINHA
INDENT s = l[:i] + l[i+1:] NOVA LINHA
p = perm(s) NOVA LINHA
DEDENT for x in p: NOVA LINHA
INDENT r.append(l[i:i+1]+x) NOVA LINHA
DEDENT return r
4
COMO FUNCIONA A SINTAXE BÁSICA DO PYTHON
Uma variável não pode ser utilizada em uma expressão sem ter sido
inicializada
Não existe ―criação automática‖ de variáveis.
Exemplo de atribuição:
reais = euros * taxa
As variáveis euros e taxa devem ser inicializadas, se não o erro name
'euros' is not defined será exibido.
Em Python, None equivale ao valor nulo (null).
Podemos iniciar as variáveis com o valor None.
reais = None
Saídas: Saída simples válido para a versão 3 de Python.
print("Welcome to Python!")
Endentação: Python usa endentação como delimitação de bloco, portanto
devemos endentar corretamente o código fonte.
5
Entradas:
name = input("What is your name?")
quest = input("What is your quest?")
color = input("What is your favorite color?")
print("Ah, so your name is %s, your quest is %s, " \
"and your favorite color is %s." % (name, quest, color) )
Python usa endentação como delimitação de bloco. comandos que aceitam
blocos:
if/elif/else
for/else
while/else
def
try/except /finally/else
class
with
Se o bloco tem apenas um comando, pode-se escrever tudo em uma linha:
if n < 0: print('Valor inválido')
6
CONFIGURAÇÃO DO AMBIENTE
As instruções de instalação do Python variam de acordo com o sistema
operacional. Siga o guia do sistema operacional que você está executando no
ambiente de desenvolvimento, seja MacOS, Windows ou Linux.
O macOS inclui uma versão do Python por padrão e a utiliza para seus próprios
propósitos. Para evitar interferência com o macOS, recomendamos criar um
ambiente de desenvolvimento separado e instalar a versão mais recente do
Python. Para instalar o Python, use o homebrew.
Para usar o homebrew para instalar pacotes do Python, você precisa de um
compilador, que pode ser instalado instalando ferramentas de linha de
comando do Xcode (em inglês).
xcode-select –install
Instale o homebrew seguindo as instruções na página inicial do homebrew (em
inglês) e use-o para instalar o Python da seguinte maneira:
brew install python
Após a conclusão das instalações, verifique se o Python 3 está disponível
como python e python3 e se o pip também está instalado.
Para verificar se o Python está disponível, execute o seguinte comando:
python –version
A saída mostrará a versão. Saiba mais sobre a versão mais recente do Python
homebrew na página Fórmula de Python do Homebrew (em inglês).
Para verificar se o pip está disponível, execute o seguinte comando:
pip –version
7
As saídas mostram as versões. Saiba mais sobre a versão mais recente do pip
nas Notas da versão do pip.
O Homebrew instala as versões mais recentes do Python disponíveis na sua
plataforma via Homebrew. Os números de versão nas saídas podem ser
diferentes das versões oficiais mais recentes do Python.
As bibliotecas de cliente do Cloud para Python são a integração dos
desenvolvedores do Python com os serviços do Google Cloud, como o
Datastore e o Cloud Storage. Para instalar o pacote para uma API individual,
como o Cloud Storage, use um comando semelhante ao seguinte:
pip install --upgrade google-cloud-storage
Para o download do Python 3 para sitemas de 32 bits. Para o instalador de 64
bits, acesse e selecione o instalador de 64 bits apropriado.
Faça o download do instalador executável do Windows (32 ou 64 bits) e clique
duas vezes nele para iniciar o assistente de instalação do python.
O processo de instalação é bem simples:
1. Marque a opção "Add Python to PATH"
2. Clique em "Install Now"
A tela será mostrada. Aguarde enquanto o instalador completa o processo de
instalação.
Se tudo ocorrer bem, a próxima tela será mostrada. Clique em "Close".
Para verificar se a instalação do Python foi bem-sucedida, pesquise no menu
iniciar por "cmd" e clique duas vezes para abri-lo.
Digite o seguinte comando:
python --version
Este comando retornará a versão do python que está instalada em sua
máquina.
8
PRIMEIROS PASSOS COM PYTHON
Na página http://www.python.org/download/ você encontra links para baixar o
interpretador adequado para o seu computador. No caso do Windows, o
instalador .msi da versão atual do Python tem cerca de 11 MB.
Toda programação de computadores é feita através de uma ou mais
linguagens de programação, portanto não é possível aprender a programar
sem aprender ao menos uma linguagem de programação. Nossa meta não é
mostrar como se programa em uma linguagem específica, mas sim como se
programa de uma forma geral. Ou seja, a linguagem para nós será um veículo,
e não o destino. Mesmo assim, pensamos bastante antes de escolher uma
linguagem para este tutorial, e optamos por Python.
Centenas de linguagens já foram criadas desde que o computador eletrônico
foi inventado nos anos 40. Algumas já são línguas mortas. Outras, como C++ e
Java, são peças fundamentais no desenvolvimento da economia digital. No
entanto, a complexidade dessas duas linguagens nos motivou a descartá-las, e
focalizar o universo das chamadas linguagens de "scripting", que são mais
simples e se prestam a um estilo de programação exploratória, mais
sintonizado com um tutorial como esse.
Leitura Complementar:
Livro: Python 3: Conceitos e aplicações :
Uma abordagem didática
Autor: Sérgio Luiz Banin (Coeditor)
Editora: Ética
9
O livro escolhido para leitura complementar é destinado a iniciantes em
programação de computadores e profissionais da área que desejam ampliar
seus conhecimentos, esta obra fornece um aprendizado didático e consistente,
com exemplos e exercícios práticos. São abordados elementos de Python 3,
como objetos simples; objetos estruturados strings, listas, tuplas, conjuntos e
dicionários; comandos de entrada e saída, controle de fluxo do programa,
funções, leitura e gravação de arquivos. Destaca o uso e o gerenciamento de
bancos de dados em SQL, leitura e gravação de arquivos e inclui dois projetos
completos e funcionais, descritos em detalhes, para fixação do aprendizado. A
iEstudar se peocupa com o aprendizado do aluno. Leia sempre mais livros.
A melhor forma de aprender a programar é usando um interpretador em modo
interativo. Dessa forma você pode digitar comandos linha por linha e observar a
cada passo como o computador interpreta e executa esses comandos. Para
fazer isso em Python, há duas maneiras:
1-executar o interpretador em modo texto (chamado "Python (command line)"
no Windows, ou simplesmente python no Linux)
2-usar o IDLE, que é um ambiente baseado em janelas.
Seja qual for o interpretador que você escolheu, ao executá-lo você verá uma
mensagem com informações de copyright mais ou menos como essa:
Python 2.5.1 (r251:54863, Oct 5 2007, 13:50:07)
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
O símbolo ">>>" exibido pelo interpretador é o que os americanos chamam de
"prompt", que alguns traduzem por "aviso", mas nós vamos chamar de "deixa"
(em teatro, o termo "prompt" é a deixa que indica ao ator a hora de dizer ou
fazer algo; em computação, o prompt informa o usuário que o sistema está
pronto para receber um novo comando).
Para sair do interpretador você pode fechar a janela do IDLE, ou
teclar [CTRL]+[D] (no IDLE ou no interpretador em UNIX) ou [CTRL]+[Z] e
então [ENTER] (no interpretador DOS).
10
INDENTAÇÃO NO PYTHON
Indentação é esse espaçamento dado para a direita em relação ao código de
primeiro nível hierárquico. É uma boa prática em qualquer linguagem de
programação indentar os códigos para que eles fiquem mais legíveis, mais
organizados, e Python achou uma forma de casar isso com a criação de blocos
de códigos.
A linguagem meio que nos força a organizar nosso código com a indentação
pois caso os blocos não sejam indentados, o console irá gerar erros de
indentação.
Imagem: bastter.com
Em ciência da computação, indentação (recuo, neologismo derivado da palavra
em inglês indentation) é um termo aplicado ao código fonte de
um programa para ressaltar ou definir a estrutura do algoritmo.
Na maioria das linguagens de programação, a indentação é empregada com o
objetivo de ressaltar a estrutura do algoritmo, aumentando assim a legibilidade
do código. Em algumas linguagens, entretanto, a indentação é
obrigatória. Python, Occam e Haskell, por exemplo, utilizam a mudança de
indentação para definir a hierarquia dentre blocos de código.
11
Um exemplo do emprego de indentação em C.
12
A sintaxe de uma linguagem são as regras que nos dizem como escrever um
código para que ele seja compilado sem erros. A seguir, veremos algumas
dentre as principais características da sintaxe do Python, com exemplos de
código e explicações. Uma vez que o Python é uma linguagem fácil de
aprender, é possível que ao final desse artigo você já possa escrever os seus
primeiros códigos com a mesma.
Conhecer a sintaxe do Python é muito importante para escrever programas que
funcionem corretamente. Uma vez que essa é uma linguagem diferente das
demais em muitos aspectos, muitos dos conceitos apresentados aqui podem
não ser óbvios e representam armadilhas para os iniciantes. Com esse artigo
em mãos, principalmente se você vem de uma linguagem baseada em C, o
aprendizado do Python poderá ser mais agradável e ágil.
Para implantar a imagem do contêiner, siga estas etapas:
Implante usando o comando a seguir:
gcloud run deploy --image gcr.io/PROJECT-ID/helloworld --platform
managed
Substitua PROJECT-ID pelo ID do projeto do GCP. Para ver o ID do projeto,
execute o comando gcloud config get-value project.
a. O nome do serviço será solicitado: pressione Enter para aceitar o nome
padrão, helloworld.
b. Você receberá uma solicitação de região: selecione a região de sua escolha,
por exemplo, us-central1.
c. Você receberá uma solicitação para permitir chamadas não autenticadas:
responda y.
Aguarde alguns instantes até a conclusão da implantação. Em caso de
sucesso, a linha de comando exibe o URL de serviço.
13
OPERADORES DE ATRIBUIÇÃO
Um exemplo simples de 4 + 5 = 9.
Exemplo, 4 e 5 são chamados operandos, operador "+" é chamado.
Linguagem Python suporta os seguintes tipos de operadores:
operadores aritméticos
comparação (relacionamento) operador
operadores de atribuição
operadores lógicos
operadores bit a bit
operador de membro
operador de identidade
precedência de operador
O seguintes premissas variável a é 10, b é variável 20:
Operadores Descrição Exemplos
+ Plus - dois objetos são adicionados a + b saída 30
- Guardar - se um número negativo é subtraído do outro a - b saída -10
número ou
* Multiply - multiplicar dois números ou retorna a seqüência a * b saída 200
repetida várias vezes
/ Além disso - x y dividida pela b / a saída 2
% Modulo - retorna o resto da divisão b% uma saída de 0
14
** Power - retorna x elevado à potência de y a ** b 10 20 th poder, a
saída
100000000000000000000
// Tome divisível - Retorna a parte inteira do quociente 9 // 2 saída 4, saída de
9,0 // 2,0 4,0
Primitivas da linguagem: Conjuntos de elementos básicos da linguagem, como
números, caracteres, operadores aritiméticos, operadores lógicos, etc.
Mecanismos de combinação: Formas de se combinar elementos básicos da
linguagem para formar expressões mais complexas. Por exemplo, podemos ter
uma expressão como a seguinte, combinando vários tipos de operações na
linguagem: (a + b > 10) or (p and q).
Mecanismos de abstração: Formas de se usar combinações de elementos da
linguagem como se fossem elementos primitivos. Nesta categoria entram
variáveis, funções, classes, módulos e bibliotecas. A maior parte do nosso
estudo de algoritmos e programação se concentra em como criar abstrações a
partir de componentes primitivos da linguagem e em usá-las para resolver
problemas do mundo real.
Exemplos de expressões matemáticas em Python:
# Soma e subtração
print(10 + 2 - 7)
# Potência: 2 ^ 4
print(2 ** 4)
# Divisão de ponto flutuante
print(20 / 6)
# Divisão inteira, sem considerar o resto
print(20 // 6)
15
OPERADORES ARITMÉTICOS
Qualquer outra linguagem de programação, subtração, multiplicação, e
operadores de divisão podem ser usados com números.
número = 1 + 2 * 3 / 4.0
Outro operador disponível é o operador de módulo (%), que retorna o número
que é o resto da divisão. Dividendo % divisor = resto.
resto = 11 % 3
Usar dois símbolos de multiplicação forma um relacionamento de potenciação.
quadrado = 7 ** 2
cubo = 2 ** 3
Listas podem ser combinadas com operadores de adição:
numeros_pares = [2,4,6,8]
numeros_impares = [1,3,5,7]
todos_numeros = numeros_impares + numeros_pares
Assim como em strings, Python suporta a formação de novas listas com uma
sequência repetida usando o operador de multiplicação:
print [1,2,3] * 3
Para prever o resultado de uma expressão com vários operadores, além de
conhecer o que cada operador faz (como soma e multiplicação), é necessário
conhecer as regras de precedência dos operadores e também
sua associatividade.
16
A tabela a seguir mostra a associatividade das principais operações aritméticas
em Python, em ordem decrescente de precedência (da maior para a menor):
Tabela de precedência e associatividade de operadores aritméticos
Operador descrição Associatividade
() parênteses da esquerda para a direita
** potência da direita para a esquerda
+, - positivo e negativo unário da direita para a esquerda
*, /, //, % multiplicação , divisão, divisão inteira e resto da esquerda para a direita
+, - soma e subtração da esquerda para a direita
O interpretador interativo é uma característica diferencial da linguagem, porque
há a possibilidade de testar o código de um programa e receber o resultado em
tempo real, antes de iniciar a compilação ou incluí-las nos programas. Por
exemplo:
>>> 1+1
2
>>>
>>> a = 1+1
>>> print a
2
>>> print(a)
2
>>>
17
CONDICIONAL IF-ELSE E IF-ELIF-ELSE
A palavra reservada if seguida de um par de parênteses.
Um teste condicional, localizado dentro dos parênteses (normalmente "este
valor é maior que esse", ou "este valor existe"). Esta condição pode fazer uso
dos operadores de comparação que discutimos no último módulo, e podem
retornar true ou false.
Um par de chaves, e dentro dele temos código — pode ser qualquer código
que queiramos, e só vai ser executado se o teste condicional retornar true.
A palavra reservada else.
Outro par de chaves, dentro dele temos mais um pouco de código — pode ser
qualquer código que queiramos, e só vai executar se o teste condicional
retornar um valor diferente de true, neste caso not true, ou false.
Este tipo de código é bem legível por seres humanos — ele diz: "if a condição
for true, execute o bloco de código A, else execute o bloco de código B" (se a
condição for verdadeira, execute o bloco de código A, senão execute o bloco
de código B).
Você precisa saber que não é obrigado a colocar a palavra reservada else e e
o segundo bloco de par de chaves. O código apresentado a seguir é
perfeitamente válido e não produz erros:
if (condicao) {
codigo para executar se a condição for verdadeira
}
código a ser executado
18
Entretanto, você precisa ser cauteloso aqui — neste caso, repare que o
segundo bloco de código não é controlado pela declaração condicional, então
ele vai executar sempre, independente do teste condicional
retornar true ou false. É claro, isto não é necessariamente uma coisa ruim, mas
isso pode não ser o que você quer — com muita frequência você vai querer
executar ou um bloco de código ou outro, não os dois juntos.
Por fim, você verá muitas vezes declarações if...else escritas sem as chaves,
no seguinte estilo de escrita:
if (condicao) executar aqui se for verdadeira
else executar este outro codigo
Este é um código perfeitamente válido, mas não é recomendado — ele facilita
que você escreva código fora do escopo do if e do else, o que seria mais difícil
se você estivesse usando as chaves para delimitar os blocos de código, e
usando multiplas linhas de código e identação.
Leitura Complementar:
Livro: Use a Cabeça! Python
Autor: Barry (Autor), Paul (Autor),
Eveline MacHado (Tradutor)
Editora: Paul Barry
19
FOR-ELSE E WHILE-ELSE
Comando de controle de fluxo é o if. Por exemplo:
>>>
>>> x = int(raw_input("Favor digitar um inteiro: "))
Favor digitar um inteiro: 42
>>> if x < 0:
... x = 0
... print 'Negativo alterado para zero'
... elif x == 0:
... print 'Zero'
... elif x == 1:
... print 'Unidade'
... else:
... print 'Mais'
...
Mais
Pode haver zero ou mais seções elif, e a seção else é opcional. A palavra-
chave elif é uma abreviação para ‗else if‘, e é útil para evitar indentação
excessiva. Uma sequência if ... elif ... elif ... substitui as
construções switch ou case existentes em outras linguagens.
Em Python, o PEP 8 tornou-se o guia de estilo adotado pela maioria dos
projetos; ele promove um estilo de codificação muito legível e visualmente
agradável. Todo desenvolvedor Python deve lê-lo em algum momento; aqui
estão os pontos mais importantes:
Use 4 espaços de recuo, e nenhum tab.
4 espaços são um bom meio termo entre indentação estreita (permite maior
profundidade de aninhamento) e indentação larga (mais fácil de ler). Tabs
trazem complicações; é melhor não usar.
Quebre as linhas de modo que não excedam 79 caracteres.
Isso ajuda os usuários com telas pequenas e torna possível abrir vários
arquivos de código lado a lado em telas maiores.
20
Deixe linhas em branco para separar as funções e classes, e grandes blocos
de código dentro de funções.
Quando possível, coloque comentários em uma linha própria.
Escreva docstrings.
Use espaços ao redor de operadores e após vírgulas, mas não diretamente
dentro de parênteses, colchetes e chaves: a = f(1, 2) + g(3, 4).
Nomeie suas classes e funções de modo consistente; a convenção é
usar CamelCase (literalmente, CaixaCamelo) para classes
e caixa_baixa_com_underscores para funções e métodos. Sempre
use self como nome do primeiro parâmetro formal dos métodos de instância
(veja Primeiro contato com classes para saber mais sobre classes e métodos).
Não use codificações exóticas se o seu código é feito para ser usado em um
contexto internacional. ASCII puro funciona bem em qualquer caso. (N.d.T.
para programadores de língua portuguesa, UTF-8 é atualmente a melhor
opção, e já se tornou o default em Python 3 conforme o PEP 3120).
Frequentemente, computadores são utilizados para automatizar tarefas
repetitivas. Repetir tarefas, idênticas ou similares, sem cometer erros, é algo
que computadores fazem bem melhor que pessoas. Devido à iteração ser tão
comum, Python disponibiliza diversos recursos para torná-la mais fácil.
Uma das formas de iteração em Python é a declaração while. Abaixo, temos
um programa simples que faz uma contagem regressiva, partindo de cinco, e
depois diz ―Lançar!‖.
A declaração while quase pode ser lida como se fosse um texto comum (escrito
em português). Em português, teríamos algo como: ―Enquanto n for maior que
0, mostre o valor de n e então subtraia 1 desse valor. Quando atingir o valor 0,
21
saia da declaração while e mostre a palavra Lançar!‖. De maneira mais formal,
o fluxo de execução da declaração while seria:
1. Análise da condição, retornando um valor True ou False.
2. Se a condição for falsa, saia da declaração while e prossiga com as
declarações seguintes.
3. Se a condição for verdadeira, execute o bloco while e então retorne ao passo
1.
Esse bloco de instruções é chamado de laço, pois o terceiro passo faz retornar
ao primeiro. Nomeamos de iteração cada vez em que as instruções dentro de
um laço são executadas. Para o programa anterior, podemos dizer que ―ele
teve cinco iterações‖, ou seja, o corpo do laço foi executado cinco vezes.
O corpo do laço normalmente deve alterar o valor de uma ou de mais variáveis,
de forma que, eventualmente, a condição de execução se torne falsa e a
repetição se encerre. Chamamos essa variável que tem seu valor alterado em
cada execução do laço e controla quando ele deve terminar de variável de
iteração. Se não houver uma variável de iteração, o loop se repetirá
eternamente, resultando em um laço infinito.
A condição do laço é True, que sempre é verdadeira, então ele é executado
repetidamente até atingir a estrutura break. A cada repetição, ele solicita uma
entrada do usuário mostrando um sinal de ―menor que‖. Se o usuário digita
pronto, o comando break sai do laço. Caso contrário, o programa ecoa tudo o
que o usuário digita e volta para o primeiro passo. Aqui vemos um exemplo da
execução:
Essa forma de escrever laços while é comum, pois você pode checar a
condição em qualquer lugar do bloco (não apenas no topo) e você pode
expressar a condição de parada afirmativamente (―pare quando isso acontece‖)
melhor do que negativamente (―continue até que aquilo aconteça‖).
22
TRATAMENTO DE EXCEÇÕES
Quando executamos esse trecho de código no interpretador, nós recebemos
um novo aviso do Python, pensamos ―oops‖ e passamos para nossa próxima
declaração. Entretanto, se você colocar esse código num programa em Python
e esse erro ocorre, seu programa para imediatamente com um ―Traceback‖
indicando tal erro. Isso faz com que os próximos comandos não sejam
executados.
Um simples programa que converte uma temperatura em Fahrenheit para
Celsius:
Se executarmos esse código e inserirmos uma entrada inválida, ele
simplesmente falha, mostrando uma mensagem de erro não amigável:
23
Existe uma estrutura de execução condicional interna ao Python para
manipular esses tipos de erros esperados e inesperados chamada ―try /
except‖. A ideia de ‗try‘ e ‗except‘ é de você saber que alguma sequência de
instruções pode ter um problema e você quer adicionar alguns comandos para
serem executados caso um erro ocorra. Esses comandos extra (o bloco
‗except‘) são ignorados se não houver erro.
Poderá pensar na ferramenta ‗try‘ e ‗except‘ no Python como sendo uma
―apólice de seguro‖ sobre uma sequência de instruções. Podemos reescrever
nosso conversor de temperatura da seguinte forma:
O Python começa executando a sequência de instruções que estão no bloco
‗try‘. Se tudo ocorrer bem, pula-se o bloco ‗except‘ e o programa continua. Se
uma exceção ocorrer no bloco ‗try‘, o Python sai desse bloco e executa os
comandos no bloco ‗except‘.
O ato de tratar uma exceção com um comando ‗try‘ é chamado de capturar
uma exceção. Nesse exemplo, a condição ‗except‘ mostra uma mensagem de
erro. Geralmente, capturar uma exceção te dá a chance de resolver um
problema, ou de tentar novamente, ou de, pelo menos, encerrar seu programa
graciosamente.
24
ORIENTAÇÃO A OBJETOS NO PYTHON
No e-book de Charles R. Severance, Python para Todos, encontramos um bom
exemplo de objetos e valores, e apresentamos abaixo.
Se nós executarmos estas atribuições:
Sabemos que ambos a e b se referem a uma string, mas não sabemos se eles
se referem à mesma string. Existem dois estados possíveis:
Em um caso, a e b referem-se a dois objetos diferentes que possuem o mesmo
valor. No segundo caso, eles se referem ao mesmo objeto. Para verificar se
duas variáveis se referem ao mesmo objeto, você pode usar o operador is.
Neste exemplo, o Python criou apenas uma string objeto, e tanto a quanto b se
referem a ele. Mas quando você cria duas listas, você obtém dois objetos:
25
Nesse caso, diríamos que as duas listas são equivalentes, porque elas têm os
mesmos elementos, mas não são idênticas, porque não são o mesmo objeto.
Se dois objetos são idênticos, eles também são equivalentes, mas se forem
equivalentes, eles não são necessariamente idênticos.
Até agora, temos usado ―objeto‖ e ―valor‖ de forma intercambiável, mas é mais
preciso dizer que um objeto tem um valor. Se você executar a = [1,2,3], onde a
refere-se a uma lista de objetos cujo valor é uma sequência particular de
elementos. Se outra lista tiver os mesmos elementos, diremos que ela tem o
mesmo valor.
Se usarmos um dicionário como a sequência em uma instrução for, ela
percorrerá as chaves do dicionário. Este laço mostra cada chave e seu valor
correspondente:
Aqui está como a saída se parece:
Novamente, as chaves não estão em uma ordem particular. Podemos usar este
padrão para implementar vários ―jargões‖ de repetição que descrevemos
anteriormente. Por exemplo, se quisermos encontrar todas as entradas em um
dicionário com valor maior que dez, poderíamos escrever o seguinte código:
26
A iEstudar se preocupa com o aprendizado do aluno. Leia sempre mais livros.
Pesquisamos no mercado bons livros para estudos, e listamos abaixo.
Leitura Complementar:
Livro: Introdução à Programação com Python:
Algoritmos e Lógica de Programação Para Iniciantes
Autor: por Nilo Ney Coutinho Menezes
Editora: Novatec
Livro: Python Para Análise de Dados:
Tratamento de Dados com Pandas, NumPy e IPython
Autor: por Wes McKinney
Editora: Novatec
Livro: Projetos com Python e Arduino: Como Desenvolver
Projetos Práticos de Eletrônica, Automação e Iot
Autor: Humberto Augusto Piovesana Zanetti,
Claudio Luis Vieira Oliveira
Editora: Ética
27
Agradecemos por escolher a iEstudar.
Blog https://iestudar.com/blog/
Site https://iestudar.com/
28
Referências Bibliográficas
Wikipédia, a enciclopédia livre.Python.
Disponível em:
https://pt.wikipedia.org/wiki/Python
devfuria.com.br python sintaxe-basica.Python - O básico da sintaxe.
Disponível em:
http://devfuria.com.br/python/sintaxe-basica/
Suporte Google Cloud. Como configurar um ambiente de desenvolvimento do
Python.
Disponível em:
https://cloud.google.com/python/setup?hl=pt-br
Python Brasil.Instalando o Python 3 no Windows.
Disponível em:
https://python.org.br/instalacao-windows/
Luciano Ramalho.Aprenda a programar.
Disponível em:
https://wiki.python.org.br/AprendaProgramar
Sérgio Luiz Banin (Coeditor).Python 3: Conceitos e aplicações : Uma
abordagem didática.
29
Disponível em:
https://www.amazon.com.br/Python-Conceitos-Aplica%C3%A7%C3%B5es-
Abordagem-
Did%C3%A1tica/dp/8536527811/ref=asc_df_8536527811/?tag=googleshopp00
-
20&linkCode=df0&hvadid=379748659420&hvpos=&hvnetw=g&hvrand=178731
02483522791408&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=
&hvlocphy=1032069&hvtargid=pla-811137648168&psc=1
@ThiagoDV.1.6 - Python - Indentação e blocos de código.
Disponível em:
https://bastter.com/mercado/forum/863478/16--python--indentacao-e-blocos-de-
codigo
Wikipédia, a enciclopédia livre.Indentação.
Disponível em:
https://pt.wikipedia.org/wiki/Indenta%C3%A7%C3%A3o
DEVMEDIA. Python tutorial: Tour pela linguagem.
Disponível em:
https://www.devmedia.com.br/python-tutorial-tour-pela-linguagem/40646
Google Cloud. Guia de início rápido: compilar e implantar.
Disponível em:
https://cloud.google.com/run/docs/quickstarts/build-and-
deploy?gclid=CjwKCAjw2dD7BRASEiwAWCtCb5xb9mnpxnGLar6nkDv1Tgx-
k3XIdx6lMMHouqkO4N-
W2rT8TZdo8xoCg2UQAvD_BwE&gclsrc=aw.ds#python&utm_source=google&
utm_medium=cpc&utm_campaign=latam-BR-all-pt-dr-skws-all-all-trial-b-dr-
1009133-LUAC0009046&utm_content=text-ad-none-none-DEV_c-
CRE_423672515956-ADGP_SKWS+%7C+Multi+~+Developers+%7C+Python-
30
KWID_43700042069969726-kwd-20962313848-
userloc_1032069&utm_term=KW_%2Bpython-ST_%2BPython
w3big.com.O que é o operador?
Disponível em:
http://www.w3big.com/pt/python/python-operators.html
AP.Operadores e Expressões em Python.
Disponível em:
https://algoritmosempython.com.br/cursos/programacao-python/expressoes-
matematicas
learnpython.org. Operadores Aritméticos.
Disponível em:
https://www.learnpython.org/pt/Operadores_b%C3%A1sicos
Panda. Expressões aritméticas, relacionais e lógicas.
Disponível em:
https://panda.ime.usp.br/cc110/static/cc110/02-expressoes.html
MDN web docs. Tomando decisões no seu código — condicionais.
Disponível em:
https://developer.mozilla.org/pt-
BR/docs/Aprender/JavaScript/Elementos_construtivos/conditionals
© Copyright 1990-2012, Python Software Foundation.Python v2.7.2
documentation » O tutorial de Python ».Mais ferramentas de controle de fluxo.
Disponível em:
31
http://turing.com.br/pydoc/2.7/tutorial/controlflow.html
Suporte Editorial : Elliott Hauser, Sue Blumenberg
Cover Design: Toby Koening
Tradução para Português (PT-BR): Antonio Marcos, Alysson Hyago,
Andhré Carvalho, Arthur Carneiro, Caio Porto,
Debora Nunes, Gabriel Araújo Medeiros, Giovana
Oliveira, João Pedro Melquiades, Lara Sobral,
Maysa Freire, Natã Macedo, Pyettra Feitosa, Victor
Marinho, Vinicius França, Vinicius Formiga, Vitor
Araujo, Yuri Loia
Disponível em:
https://creativecommons.org/licenses/by-nc-sa/3.0/
Charles R. Severance. Python para Todos. Explorando Dados com Python 3.
Disponível em:
http://www.dr-chuck.com/
32