0% acharam este documento útil (0 voto)
2 visualizações17 páginas

Apostila de Python

O documento é uma apostila sobre Python, abordando conceitos fundamentais como variáveis, tipos de dados, operadores e controle de fluxo. Ele detalha a nomenclatura de variáveis, tipos primitivos e operadores aritméticos, lógicos e relacionais, além de exercícios práticos. O conteúdo é voltado para alunos do Curso Técnico em Informática, focando na montagem e manutenção de computadores.
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)
2 visualizações17 páginas

Apostila de Python

O documento é uma apostila sobre Python, abordando conceitos fundamentais como variáveis, tipos de dados, operadores e controle de fluxo. Ele detalha a nomenclatura de variáveis, tipos primitivos e operadores aritméticos, lógicos e relacionais, além de exercícios práticos. O conteúdo é voltado para alunos do Curso Técnico em Informática, focando na montagem e manutenção de computadores.
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

Curso Técnico em Informática

Montagem e Manutenção de Computadores


Turma 046.2021.0178 / 046.2021.0165

Python

Sumário
Variáveis ........................................................................................................................................ 2
Nomenclatura............................................................................................................................ 2
Tipos Primitivos ......................................................................................................................... 2
Inteiro .................................................................................................................................... 2
Lógico .................................................................................................................................... 3
Caractere ............................................................................................................................... 3
Tipos do Python......................................................................................................................... 3
Exercícios ................................................................................................................................... 6
Operadores1.................................................................................................................................. 7
Aritméticos ................................................................................................................................ 7
Lógicos ....................................................................................................................................... 7
Relacionais................................................................................................................................. 8
Atribuição .................................................................................................................................. 8
Bit a bit ...................................................................................................................................... 9
Filiação e Identidade ............................................................................................................... 10
Precedência ............................................................................................................................. 11
Exercícios ................................................................................................................................. 12
Controle de fluxo ......................................................................................................................... 13
Estruturas Condicionais ........................................................................................................... 13
if-else ................................................................................................................................... 13
Estruturas de Repetição .......................................................................................................... 14
while .................................................................................................................................... 14
for ........................................................................................................................................ 15
Desvio Incondicional ............................................................................................................... 15
Break ................................................................................................................................... 15
continue .............................................................................................................................. 16
pass...................................................................................................................................... 16
Exercícios ................................................................................................................................. 16

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Variáveis
Para o armazenamento, as informações devem ser comportadas em longas cadeias de
dígitos binários, chamados de bits. Isto é, longas sequências de zeros e uns. Esses dados
podem ser interpretados de diferentes tipos, dependendo do seu uso e das operações
a serem realizadas com eles.
Seu armazenamento se dá em variáveis, que são espaços reservados na memória para
fácil acesso do usuário. Todas as variáveis de Python são objetos, mas esse conceito será
abordado futuramente, por hora, as classes serão tratadas como se fossem tipos.

Nomenclatura
A nomenclatura de uma variável, em Python, pode conter letras, números ou
underscore "_", iniciando necessariamente com letras ou underscore. Como a maioria,
a linguagem é Case Sensitive, isto é, diferencia caracteres minúsculos de maiúsculos.
Ainda assim, algumas palavras não podem ser usadas para nomear variáveis, pois são
palavras reservadas, ou seja, palavras que indicam outros procedimentos para o
interpretador.
Algumas das palavras reservadas estão na tabela abaixo:

Tipos Primitivos
Os tipos de dados dizem respeito a forma com que as cadeias de 0s e 1s serão
interpretados.
Existem quatro tipos básicos comuns a maioria das linguagens, chamados tipos
primitivos.
Inteiro
O primeiro tipo é o inteiro. Nesse tipo os dados são interpretados a fim de determinar o
sinal e o valor, assumindo valores negativos, positivos e o zero, exatamente como nos
conjuntos dos números inteiros.
Em algumas linguagens há o tipo de inteiro unsigned, isto é, sem sinal, no qual só é
possível armazenar valores não negativos. Com isso, o maior valor possível de se
representar é o dobro+1 do tipo inteiro padrão.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Lógico
Já o tipo lógico armazena os valores booleanos, ou seja, verdadeiro ou falso, 0 ou 1.
Caractere
Por fim, o tipo caractere é responsável por armazenar valores de letras e outros
caracteres.
Geralmente, os caracteres são codificados em valores seguindo um padrão universal,
conhecido como Tabela ASCII.

Tipos do Python
Analogamente aos tipos primitivos, o Python possui as classes int para inteiros, float
para pontos flutuantes, bool para booleanos e str para strings, isto é, sequências de
caracteres.
Não há um tipo simples para trabalhar com caracteres, como o tipo char de outras
linguagens.
No Python os caracteres são trabalhados por arranjos, em uma estrutura composta
chamada de string. Adicionalmente, há a classe complex para representar números
complexos.
Python é uma linguagem de tipagem dinâmica, isto é, dependendo do valor atribuído a
uma variável, seu tipo é definido dinamicamente, podendo ser alterado durante o
código.
O comando type(var) retorna a classe de var.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

DICA: A presença do caractere ponto já indica que o usuário deseja que o valor
seja armazenado em float, mesmo que o valor seja inteiro. Exemplo: se
digitado:

x = 4.
x será do tipo float.

DICA: O valor de uma variável pode ser impresso digitando apenas o nome
dela. Exemplo:
x=4
x
4

Os dados podem ser convertidos para outros tipos usando-se o nome do tipo desejado
e o valor como argumento.

Mesmo os tipos sendo implicitamente definidos, o programador pode defini-los usando


o nome do tipo e o valor como argumento, ou seja, fazendo uma conversão:

DICA: Em Python, as aspas duplas também podem ser usadas para definir
strings, mas geralmente são usadas aspas simples como boas práticas de
programação.

Note que é possível usar uma para escrever a outra como caractere: ’ "’ ou "’ ".

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Valores numéricos são geralmente atribuídos na notação de base decimal, mas é


possível atribuir valores a notação de binários, de base oito e de hexadecimais com os
prefixos 0b, 0o e 0x, respectivamente.

DICA: Valores em bases específicas podem ser dados usando-se o


comando int(’valor’, base = X), sendo que o valor precisa estar
obrigatoriamente em string.

Exemplo:
>>> x = int(’11’, base=3)
>>> x 4

Como as estruturas de dados abordadas aqui são classes, elas possuem métodos. A
orientação a objetos será abordada futuramente, mas por hora, os métodos serão
tratados como funções e procedimentos inerentes a toda variável. Por exemplo, uma
string que contém uma frase pode ser separada pelas suas palavras pelo método split().
O uso dos métodos se dá da seguinte forma: Variável.método().

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Para visualizar todos os atributos e métodos da classe deve-se utilizar o comando


dir(classe) ou dir(variavel).
Python também possui outras classes, estruturas compostas. São elas listas, tuplas, e
dicionários, além das strings.

Exercícios

1) Em um determinado programa são necessárias variáveis de diferentes tipos para


armazenar diferentes informações. Em cada caso a seguir informe qual tipo de dado
primitivo seria mais adequado para o armazenamento. Informe também qual o tipo do
Python correspondente:

a) Idade de uma pessoa;


b) Se a pessoa é maior de idade ou não;
c) Altura de uma pessoa;
d) Peso de uma pessoa;
e) Primeira letra do nome de uma pessoa;
f) Última letra do nome de uma pessoa.

2) Considere as variáveis: a = 1; b = 2; c = ’1’; d = ’2’. Utilizando o operador "+"observe a


diferença entre somar a + b e somar c + d. Qual a diferença e por que isso ocorre?

3) Ainda considerando as variáveis da questão anterior, o que poderia se fazer para que
a + b tenha o mesmo resultado de c + d ou vice-versa?

4) Em cada item a seguir diga se pode ser um nome de variável. Em caso negativo,
informe o motivo:

a) x;
b) aux;
c) 1aluno;
d) aluno1;
e) aluno_1;
f) aluno 1;
g) _aluno1;
h) int;
i) Int;
j) int_idade;
k) class.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Operadores1
Aritméticos
Os operadores aritméticos são responsáveis por realizar as operações matemáticas
básicas, eles estão representados na tabela a seguir:
Exemplo:

Figura 1 Operadores aritméticos

Lógicos
Os operadores lógicos são muito utilizados em estruturas condicionais e estruturas de
repetição. Esses operadores avaliam expressões lógicas e retornam verdadeiro ou falso.
Por falso, entende-se o valor nulo, zero, e por verdadeiro, qualquer valor diferente de
zero, por padrão, o valor um.
Exemplo:

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Figura 2 Operadores

Relacionais
Os operadores relacionais avaliam expressões e retornam verdadeiro ou falso, assim
como os lógicos. No entanto, os relacionais são responsáveis por operações de
comparação de magnitude.
Exemplo:

Figura 3 Operadores relacionais

Atribuição
Os operadores de atribuição realizam a ação de alocar valores para variáveis. Podem ser
usados para realizar operações aritméticas e alocar o resultado simultaneamente.
Exemplo:

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Figura 4 Operadores

Bit a bit
Para se compreender as operações binárias, deve-se antes, entender um pouco sobre a
representação de dados e instruções em computadores. Para eles, os dados são
representados por meio de cadeias de dígitos binários, os bits. Cada bit pode assumir o
valor de 0 ou 1. Um número, por exemplo, na representação do cotidiano é na base
decimal. Para o computador, esse número precisa ser convertido para base binária.
Por exemplo, supondo uma representação de números naturais usando quatro bits, os
números ficariam:

• 0000 -> 0
• 0001 -> 1
• 0010 -> 2
• 0011 -> 3
• ...
• 1111 -> 15
Desta forma, os operadores bit a bit realizam operações com cada bit dos dados afim de
compor um novo dado. Ainda no exemplo, a operação E bit a bit entre os números 1 e
2 representa a operação lógica and nos valores de 0001 e 0010. Desta forma, o primeiro
bit do resultado será 0 and 0, o segundo 0 and 0, o terceiro 0 and 1 e o último 1 and 0.
Resultando, portanto, em 0000, no número 0.
A operação ou exclusivo, também conhecida como XOR equivale a:

a XOR b = ((NOT a) AND b) OR ( a AND (NOT b) )


a ˆ b = (˜a & b) | (a & ˜b)

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Cada operação de deslocamento de um bit, como a base é binária, equivale a


multiplicação ou divisão por 2. Por exemplo, o número 4, representado por 0100
deslocado de um bit à direita se torna o número 2, representado por 0010.
Exemplo:

Figura 5 Operadores

Filiação e Identidade
São dois operadores, um de filiação e o outro de identidade. O de filiação é o operador
in, que retorna verdadeiro se o valor está presente no outro. O segundo, o de identidade
retorna verdadeiro se o lado esquerdo e direito da expressão apontam para o mesmo
objeto, isto é, são iguais.
Exemplo:

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Figura 6 Operadores

Precedência
Expressões com mais de um operador são avaliadas segundo a precedência deles,
similar a expressões matemáticas que também têm precedências. Na dúvida, deve-se
usar os parênteses, pois são os de maior precedência.

• ()
Parênteses
• **
Potenciação
• ˜+-
Complemento, positivo e negativo (unários)
• / % //
Multiplicação e divisão
• +-
Adição e subtração
• »«
Deslocamento binário
• &
E binário
• ˆ|
Não binário e ou binários
• <= < > >=
Maior e menor que
• == !=
Igual a e diferente de
• = %= /= //= -= += *= **=
Atribuição
• is
Identidade
• in
Filiação
• not or and
Relacionais

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Exercícios

1) Crie um Python Script que receba um número inteiro n, correspondente a um valor


em reais. Calcule a quantidade mínima de notas que um banco deve fornecer para
atingir o valor. Notas disponíveis: 100,00 reais; 50,00 reais; 10,00 reais; 1,00 real.
2) Faça um Python Script que receba um valor t referente a uma quantidade total em
segundos. Calcule a quantas horas:minutos:segundos a quantidade total de segundos
corresponde.
3) Faça um programa que leia dois valores numéricos e realize a soma, subtração,
multiplicação e divisão deles.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Controle de fluxo
O controle de fluxo é o controle da sequência de comandos executados pela rotina. Um
código é sempre executado linha por linha, na ordem que as encontram. Desta forma,
se existem somente procedimentos simples, o funcionamento da rotina é linear. No
entanto, com o controle de fluxo, é possível fazer com que o código tome decisões ou
execute alguns procedimentos repetidas vezes.
Tais ações equivalem a dizer para o compilador instruções como "se isso, faça aquilo"
ou "enquanto isso, execute aquilo".
No Python, o início de uma dessas estruturas é indicado pelas palavras reservadas eo
uso de dois pontos. Os procedimentos subordinados às estruturas devem estar
indentados com um recuo de tab em referência a linha que indicia o início da estrutura.
A própria quebra de indentação indicará o fim da estrutura.
Caso o código de Python não esteja devidamente indentado, ele não irá funcionar
corretamente.

Algumas estruturas podem ainda estar subordinadas a outras estruturas. A este


processo é chamado de aninhamento de estruturas.

Estruturas Condicionais
O primeiro conjunto de estruturas de controle de fluxo são as estruturas condicionais,
as responsáveis por tomadas de decisão, que indicarão uns procedimentos ou outros
dependendo da condição avaliada.
As mais populares das estruturas condicionais são if-else e switch. No Python, não há a
estrutura switch.
if-else
A estrutura if avalia uma expressão, caso a expressão seja verdadeira, os procedimentos
subordinados são executados. Não é obrigatório, mas em seguida, pode-se adicionar
apenas o else, com outros procedimentos subordinados, que serão executados caso a
condição do if seja falsa.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Figura 7 [Link]

Neste exemplo, dependendo do valor que o usuário atribuir a x, uma mensagem


diferente será impressa.
Pode haver também um tipo de else if, no caso de haver mais de uma condição senão.
Neste caso, deve-se usar a palavra reservada elif.

Figura 8 [Link]

Neste caso, um valor a x é atribuído pelo usuário. Se x for maior que 10, é impresso "x
maior que 10". Senão e se x estiver entre 5 e 10 é impresso "x entre 5 e 10". Senão, isto
é, se nenhuma das outras condições forem verdadeiras, é impresso "x menor que 5".

Estruturas de Repetição
Já o segundo conjunto de estruturas, as estruturas de repetição, são responsáveis por
criar laços que repetem os procedimentos a eles subordinados. A cada repetição é dada
o nome de iteração.
while
O primeiro é o while. While avalia a condição a ele exposta a cada iteração, e enquanto
ela for verdadeira, o laço é mantido. Quando a condição é falsa, o laço é terminado.

Figura 9 [Link]

Neste exemplo, o i começa valendo 0 (zero). O while avalia a condição que é,


inicialmente, verdadeira, então a primeira iteração é realizada, que imprimirá 0 e

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

incrementará o i. Isto acontecerá até que i seja igual a nove, pois assim será impresso 9,
o i será incrementado para 10 e a condição para o while será falsa, assim o laço irá
terminar.
for
O segundo é o for. Ao invés de avaliar uma condição, como o while, o for, no Python,
atribui valores a uma variável até que a lista deles acabe. Esses valores podem ser de
tipos diferentes e são atribuídos segundo a ordem que aparecem. Quando a lista de
valores acaba, o loop termina. Para a atribuição é necessário o operador de filiação, in.

Figura 10 [Link]

Neste caso, serão impressos os valores, na ordem que aparecem: 0, a, 2, 5 e 1.


Quando os valores a serem atribuídos são números crescentes, pode-se usar o comando
range(X), sendo assim, serão feitas X interações, atribuindo a variável valores de 0 a X-
1.

Figura 11 [Link]

Neste caso, serão impressos os valores: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

Desvio Incondicional
Os desvios incondicionais são mudanças da execução do programa para outra linha, isto
é, desviar o código para outra parte. Há dois comandos de desvio, break e continue.
Break
O primeiro deles, o break, serva para sair do laço. Exemplos:

Figura 12 break

Neste caso, o for estará preparado para iterar a variável i de 0 até 199999, no entanto,
caso i seja igual a 5, haverá um break, isto é, sairá do laço. Assim, só serão impressos os
valores 0, 1, 2, 3, 4 e 5.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

Figura 13 break

Neste exemplo, while True indica um loop infinito, isto é, nunca sairá dele. No entanto,
caso x seja igual a 5, o loop é quebrado pelo comando break. Sendo assim, este laço irá
atribuir valores aleatórios e inteiros entre 0 e 10 para x até que seja atribuído o valor 5.
Todos os valores atribuídos, até chegar no 5 serão impressos.
continue
O segundo desvio é o continue. Ele serve para, a partir do momento que é atingindo,
pular
para a próxima iteração do laço, ignorando os procedimentos abaixo dele. Exemplos:

Figura 14 continue

Neste exemplo, o for irá iterar a variável x de 0 a 9 e imprimir seu valor. No entanto,
caso a x tenha o valor de 5, irá pular para a próxima iteração, ignorando os
procedimentos abaixo, ou seja, não o imprimindo. Neste caso, então, serão impressos
todos os valores de 0 a 9, exceto o 5.
pass
Em um primeiro momento, este comando pode parecer sem utilidade, mas futuramente
poderá ser útil, para ignorar exceções ou definir classes vazias, por exemplo.
A função do pass é indicar que o interpretador deve prosseguir normalmente, isto é,
deixar passar.

Exercícios

1) Faça um código que receba um número n do usuário e imprima os n primeiros


números da sequência de Fibonacci1.
2) Calcule 9! usando a estrutura for.
3) Calcule 9! usando a estrutura while.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python


Curso Técnico em Informática
Montagem e Manutenção de Computadores
Turma 046.2021.0178 / 046.2021.0165

4) Faça um programa que liste para o usuário um menu com quatro opções, sendo cada
um referente à uma operação matemática básica. Após o usuário ter escolhido a
opção, leia dois valores e realiza a operação selecionada.
5) Faça um programa que receba um número inteiro n e o fatore.
6) Em algumas linguagens há a estrutura condicional switch, que não está presente no
Python. Qual alternativa poderia ser usada, então, para o seguinte trecho de código
genérico?

1
Pesquise sobre a fórmula Fibonacci.

Professor: Giuliano Richards Ribeiro Apostila Introdução ao Python

Você também pode gostar