Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentação do professor
Sou o professor Rogério Araújo. Sou bacharel em Ciência da Computação pela Uni-
versidade Estadual do Piauí (UESPI), especialista em Governança em TI pela Unieuro e em
Desenvolvimento de Sistemas Baseados em Software Livre pela Universidade da Amazônia
(UNAMA). Atualmente, estou cursando o MBA Data Science e Analytics pela USP/Esalq.
Possuo as certificações Certified ScrumMaster, COBIT 4.1 Foundation Certified e Sun Certi-
fied Associate for J2SE (SCJA). Sou autor de artigos no site www.rogeraoaraujo.com.br, no
blog do Gran Cursos Online (https://blog.grancursosonline.com.br/author/rogerio-araujo/) e
tenho meu canal no Youtube (www.youtube.com/rgildoaraujo). Sou professor de cursos na
área de Tecnologia da Informação para concursos.
Quanto à minha carreira como servidor público, atualmente trabalho na Secretaria do
Tesouro Nacional, vinculada ao Ministério da Economia, exercendo o cargo de Auditor Fede-
ral de Finanças e Controle, na área de Governança de TI. Também já passei pelo Tribunal
Regional Federal (TRF) 1ª Região, exercendo o cargo de Analista Judiciário, na especiali-
dade de Analista de Sistemas, e pelo Ministério Público Federal (MPF), como Técnico de
Informática.
Como concurseiro, fui aprovado em alguns concursos, tais como, em ordem decrescente
de ano, STN 2013 (nomeado e onde estou hoje), TST 2012 (nomeado), TSE 2012 (apro-
veitado e nomeado no TRF 1ª Região), TRE-PE 2011 (classificado), TRT 19ª Região 2011
(classificado), MPU 2010 (classificado), STM 2010 (classificado), SERPRO 2008 (nomeado),
TRT 18ª Região 2008 (classificado), MPU 2006 (classificado), BACEN 2005 (classificado),
TRE-MA 2005 (classificado), TRT 16ª Região 2005 (classificado), TCE-PI 2005 (classificado)
e MPU 2004 (nomeado).
www.grancursosonline.com.br 2
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
1. Introdução e conceituação
• De alto nível;
– É uma linguagem que possui a sintaxe a qual se aproxima da linguagem humana.
• Interpretada;
– Cada linha do código em Python é lida e executada por um interpretador.
• De script;
– Em um script, por exemplo, código em Python, descreve-se uma sequência de
comandos e tarefas que um interpretador deve executar.
• Imperativa;
– É uma linguagem orientada a ações, em que a computação é vista como uma sequ-
ência de instruções que manipulam valores de variáveis.
• Orientada a objetos;
– Suporta os conceitos da orientação a objetos.
• Funcional;
– É um paradigma de programação que trata a computação como uma avaliação de
funções matemáticas e evita estados ou dados mutáveis.
• De tipagem:
– Dinâmica;
– Forte.
www.grancursosonline.com.br 3
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Para entendermos o que significa uma linguagem de programação ser de alto nível,
precisamos fazer uma introdução.
No nosso dia a dia, utilizamos programas de computadores para os mais diversos fins,
seja para nos auxiliar em nosso trabalho, seja para usos pessoais.
No entanto, para que haja essa execução pelo processador, o programa precisa estar
em uma linguagem que o processador possa entender: a linguagem de máquina. Ela é
a linguagem que um processador é capaz de compreender e é composta apenas pelos
números 0 e 1.
www.grancursosonline.com.br 4
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
A linguagem Python, por exemplo, é uma linguagem de alto nível, pois possui a sintaxe
que se aproxima da linguagem humana. Veremos vários exemplos para mostrar que a sin-
taxe é tranquila de entendimento.
www.grancursosonline.com.br 5
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
• Compilador;
• Editor de ligação.
• O editor de ligação:
– Recebe esse programa-objeto;
– Gera um programa em linguagem de máquina executável para uma plataforma
específica.
• Como uma linguagem de máquina de uma plataforma às vezes difere de outra, precisa-
remos de um compilador e de um linker específicos para que um programa-fonte possa
ser traduzido na linguagem de máquina própria de uma plataforma.
www.grancursosonline.com.br 6
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Esse processo é feito uma vez para cada plataforma. Se houver alguma alteração do
programa-fonte, precisaremos compilar novamente o código.
As linguagens C e C++ são exemplos de linguagens compiladas.
Expliquei que Python é uma linguagem de alto nível, mas ela não passa pelo processo
de compilação/ligação. Usamos outro processo: a interpretação. Nesse processo, temos a
participação do interpretador. Ele é uma instância de hardware ou software que lê e exe-
cuta diretamente as instruções apresentadas, ou seja, cada linha de um código é lida e
executada por um interpretador.
O interpretador não produz módulo-objeto, apenas executa as instruções contidas no
programa-fonte, não necessariamente em linguagem de alto nível.
Durante uma execução, o interpretador lê cada instrução a partir de um programa-fonte
e a executa imediatamente.
A cada vez que o código for executado, o processo é feito. Portanto, a interpretação é
mais lenta que a compilação.
Como exemplos de linguagens interpretadas: BASIC, Perl, PHP, JavaScript, Lisp, Ruby
etc. Além delas, temos a linguagem Python.
Java passa por um processo híbrido de compilação e interpretação.
O PULO DO GATO
A linguagem Python é uma linguagem interpretada. Com essa informação, matamos
várias questões, meu prezado.
www.grancursosonline.com.br 7
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
• Desenvolvimento de:
– Aplicações web;
– Aplicações desktop;
– Baseadas em GUI;
– Aplicações para dispositivos móveis.
• Ciência de dados;
• Inteligência Artificial.
www.grancursosonline.com.br 8
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Bom, meu caro(a) aluno(a), com essas informações, já podemos responder várias questões.
DIRETO DO CONCURSO
1. (IFMT/2018/IFMT/INFORMÁTICA/ADAPTADA) Sobre a linguagem Python, julgue o
item abaixo como CERTO ou ERRADO.
Certo.
Python é uma linguagem imperativa, orientada a objetos e funcional. Isso torna a questão
totalmente correta.
A linguagem Python é distribuída sob licença que proíbe sua incorporação em produtos
proprietários.
Errado.
Python é software livre e é distribuído através da licença Python Software Foundation Li-
cense (compatível com a GNU GPL). Isso torna a linguagem gratuita, reutilizável e distribu-
ível até mesmo para software comercial.
Portanto, a licença do Python não proíbe a sua incorporação em produtos proprietários.
www.grancursosonline.com.br 9
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Certo.
Python é software livre e é distribuído através da licença Python Software Foundation Li-
cense (compatível com a GNU GPL).
Errado.
A linguagem Python é uma linguagem interpretada, e não compilada.
Errado.
O primeiro ponto da questão é sobre o paradigma de orientação a objetos. Python suporta os
conceitos da orientação a objetos. Além dela, temos as linguagens: Java, C++, C# e Ruby.
O outro ponto da questão é o trecho que diz: “Python/Ruby/PHP podem ser utilizadas para
desenvolvimento web, mas sem aplicações para dispositivos móveis.”
Sobre esse trecho, nosso ponto é entender se está errado ou não em relação à linguagem
Python. Meu(minha) caro(a) aluno(a), como estudamos, Python é uma linguagem usada em:
• Desenvolvimento de:
– Aplicações web;
– Aplicações desktop;
– Baseadas em GUI;
– Aplicações para dispositivos móveis.
www.grancursosonline.com.br 10
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
• Ciência de dados;
• Inteligência Artificial.
Com isso, podemos chegar à conclusão de que o trecho está errado, pois afirma que Py-
thon não é usado para desenvolvimento de aplicações para dispositivos móveis. Vimos,
porém, que ele é, sim, usado.
A linguagem Python e seu interpretador estão disponíveis para as mais diversas pla-
taformas. Para que seja usado em determinado sistema operacional não suportado, é
possível gerar o Python a partir do programa fonte utilizando um compilador C. Nesse
caso, o código fonte é traduzido para o formato bytecode, que é multiplataforma e pode
ser distribuído de forma independente.
Certo.
Concurseiro(a), a questão traz uma possibilidade de usar Python em várias plataformas,
mesmo que um determinado sistema não suporte essa linguagem e seu interpretador.
Revisando: A linguagem Python é interpretada, ou seja, suas instruções são lidas e execu-
tadas por um interpretador.
A informação nova é sobre a possibilidade de rodar código em Python em determinado
sistema operacional não suportado. Para isso, “... é possível gerar o Python a partir do
programa fonte utilizando um compilador C. Nesse caso, o código fonte é traduzido para
o formato bytecode, que é multiplataforma e pode ser distribuído de forma independente”.
Assim como o Perl, o Python e o.bat do DOS, o Shell Script é uma linguagem interpre-
tada, em que o próprio script, escrito em um editor comum, é o arquivo executável.
Certo.
No item 1.1.2, expliquei sobre Python ser uma linguagem de alto nível e interpretada.
Além do Python, temos como exemplos de linguagens interpretadas: BASIC, Perl, PHP,
JavaScript, Lisp, Ruby etc.
C e C++ são compiladas. Java passa por um processo híbrido de compilação e interpretação.
www.grancursosonline.com.br 11
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
2. Sintaxe
Exemplo 1:
O PULO DO GATO
Para muitas linguagens de programação, a indentação é usada apenas para uma boa
legibilidade, mas, para o Python, é de muita importância: Python usa a indentação para in-
dicar (delimitar) um bloco de código. Se a indentação não for feita de forma correta em um
código em Python, ela não será executada. Apenas com essa informação, podemos matar
várias questões de concursos!
Veremos alguns exemplos corretos e outros errados, para entendermos o uso da indenta-
ção em Python.
Exemplo 2:
No exemplo 2, temos uma estrutura de condição if com bloco de uma linha apenas. O in-
terpretador irá executar o código tranquilamente.
www.grancursosonline.com.br 12
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo 3:
Acima, temos o mesmo código, mas sem a indentação para indicar o bloco de código da
estrutura if. Nesse caso, o código não será executado e haverá um erro sobre a espera de
uma indentação.
Exemplo 4:
No exemplo 4, temos uma situação interessante: o bloco da segunda estrutura if está mais
recuado do que o bloco da primeira estrutura if. Porém, o que importa é que houve a inden-
tação para delimitar o bloco de cada estrutura.
Exemplo 5:
No quinto exemplo, o código contém um erro de indentação e não será executado, pois
há duas linhas com indentações diferentes em uma mesma estrutura. Se as duas linhas
participam do mesmo bloco de código, elas devem estar indentadas de forma igual, não
importando a quantidade de recuo.
www.grancursosonline.com.br 13
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (IFMT/2018/IFMT/INFORMÁTICA/ADAPTADA) Sobre a linguagem Python, julgue o
item a seguir como CERTO ou ERRADO.
Certo.
A indentação para o Python é de muita importância: Python a usa para indicar (delimitar)
um bloco de código.
Certo.
Novamente, há uma questão que trata da indentação em Python para delimitação de código.
if 5 > 2
{
print(“True!”)
}
True!
Errado.
Sabendo que a delimitação de bloco de código para uma estrutura de controle em Python
é feita com indentação, podemos, de cara, marcar que a questão está totalmente errada.
Nem precisamos saber sobre a estrutura de condição if. Apenas analisando a sintaxe, po-
demos responder a questão.
www.grancursosonline.com.br 14
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
for x in letras
{
print(x)
}
Errado.
Novamente há uma questão que, sabendo que a delimitação de bloco de código para uma
estrutura de controle em Python é feita com indentação, podemos, de cara, marcar que
a questão está totalmente errada. E, no caso do código da questão, não precisamos sa-
ber sobre a estrutura de repetição for. Apenas analisando a sintaxe, podemos responder
a questão.
Vamos corrigir o código para Python:
www.grancursosonline.com.br 15
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
A variável letras é uma lista contendo dois elementos string: “P” e “F”.
A estrutura de repetição for vai percorrer a lista, imprimindo o valor de cada elemento.
Concluindo o comentário: A sintaxe do programa na questão não está correta em Python,
e o programa não será executado.
Certo.
ASCII (American Standard Code for Information Interchange ou Código Padrão Americano
para o Intercâmbio de Informação) é um código binário que codifica um conjunto de 128
sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontua-
ção e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos
os seus símbolos.
Nos códigos em Python, as terminações de linha em ASCII podem ser usadas da mesma
maneira e independentemente da plataforma.
Python é uma linguagem livre de alto nível, orientada a objetos e de difícil leitura, pois
não permite identação de linhas de código.
Errado.
Python:
www.grancursosonline.com.br 16
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
DIRETO DO CONCURSO
1. (QUADRIX/2019/CREA-GO/ANALISTA-TI)
1) #-*- coding: latin1 -*-
2) # Conjuntos de dados
3) s1 = set(range(3))
4) s2 = set(range(10, 7, -1))
5) s3 = set(range(2, 10, 2))
6) # Exibe os dados
7) print ‘s1:’, s1, ‘\ns2:’, s2, ‘\ns3:’, s3
8) # Operação 1
9) s1s2 = s1.union(s2)
10) print ‘União de s1 e s2:’, s1s2
11) # Operação 2
12) print ‘Diferença com s3:’, s1s2.difference(s3)
13) # Operação 3
14) print ‘Interseção com s3:’, s1s2.intersection(s3)
15) # Operação 4
16) if s1.issuperset([1, 2]):
17) print ‘s1 inclui 1 e 2’
18) # Operação 5
19) if s1.isdisjoint(s2):
20) print ‘s1 e s2’
www.grancursosonline.com.br 17
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Certo.
A cerquilha é usada para comentar códigos na linguagem em Python.
3. Variáveis
3.1. Introdução
Faremos uma analogia entre variáveis e constantes com garagens de carros (figura 3.1):
www.grancursosonline.com.br 18
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo 1:
As variáveis em Python também não precisam ser declaradas com nenhum tipo em par-
ticular. Podem até mudar de tipo depois de terem sido definidas:
Exemplo 2:
www.grancursosonline.com.br 19
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Beleza! Agora vamos fazer algumas questões para testarmos o que estudamos.
www.grancursosonline.com.br 20
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (MS CONCURSOS/2016/CRECI 1º REGIÃO-RJ/ANALISTA DE TI) Qual alternativa
representa a declaração de uma variável do tipo texto, na linguagem de programa-
ção Python?
a. var valor = 3;
b. boolean inicio = falso;
c. textp = “texto de exemplo”;
d. int i = 1;
Letra c.
Não há um comando (por exemplo, var) nem há a definição de um tipo para criação de
variáveis em Python.
Então temos:
a. Errada. Forma correta: valor = 3
b. Errada. Forma correta: inicio = False
c. Certa.
d. Errada. Forma correta: i = 1
2. (IFB/2017/IFB/PROFESSOR/INFORMÁTICA/DESENVOLVIMENTO DE SISTEMAS/
ADAPTADA) Com relação a Algoritmos e Estrutura de Dados, julgue o item seguinte
como CERTO ou ERRADO.
Errado.
A declaração de variáveis não é obrigatória em Python. Basta citar o nome de uma variável
e um valor inicial para criá-la.
www.grancursosonline.com.br 21
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
4. Tipos de dados
No código acima, há um exemplo de linguagem que tem uma função print que faz um
cast implícito para que o primeiro operando numérico 1 seja ser concatenado com o segundo
operando string.
ATENÇÃO
Muitas vezes, há uma confusão entre os conceitos de uma linguagem ser fracamente
tipada com uma linguagem ser estaticamente tipada. São conceitos diferentes.
Linguagens fortemente tipadas são linguagens em que se deve fazer operações com a
necessidade da realização de cast.
www.grancursosonline.com.br 22
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
No código anterior, há um exemplo de linguagem que tem uma função print que não faz
um cast implícito. Em Python, não há cast implícito, o que faz com que ela seja classificada
como fortemente tipada.
www.grancursosonline.com.br 23
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
O PULO DO GATO
Python é:
• Dinamicamente tipada;
– É uma linguagem em que o tipo de uma variável pode ser alterado durante a execu-
ção do código.
• Fortemente tipada;
– É uma linguagem em que se deve fazer operações com a necessidade da realiza-
ção de cast.
DIRETO DO CONCURSO
1. (UFPEL-CES/2015/UFPEL/TÉCNICO EM TECNOLOGIA DA INFORMAÇÃO/ADAPTA-
DA) Em relação às características da linguagem Python, julgue o item a seguir como
CERTO ou ERRADO.
É uma linguagem fortemente tipada, ou seja, é preciso declarar variáveis e seus tipos.
Errado.
Python, como vimos, é uma linguagem fortemente tipada. Porém, o conceito da letra trata
de uma linguagem estaticamente tipada.
www.grancursosonline.com.br 24
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Revisando:
Python é:
• Dinamicamente tipada;
– É uma linguagem em que o tipo de uma variável pode ser alterado durante a execu-
ção do código.
• Fortemente tipada;
– É uma linguagem em que se deve fazer operações com a necessidade da realiza-
ção de cast.
Letra c.
Eu trouxe essa questão de novo justamente para explicar como Python pode ser dinami-
camente tipada.
Revisando: Não há um comando (por exemplo, var) nem há a definição de um tipo para
criação de variáveis em Python, e esta linguagem é dinamicamente tipada, ou seja, o tipo
de uma variável pode ser alterado durante a execução do código.
Voltando à questão, temos:
a. Errada. Forma correta: valor = 3
b. Errada. Forma correta: inicio = False
c. Certa.
d. Errada. Forma correta: i = 1
Errado.
Python é:
www.grancursosonline.com.br 25
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
• Dinamicamente tipada;
– É uma linguagem em que o tipo de uma variável pode ser alterado durante a execu-
ção do código.
• Fortemente tipada;
– É uma linguagem em que se deve fazer operações com a necessidade da realiza-
ção de cast.
Python é dinamicamente tipada, porém é fortemente tipada. É muito importante ter isso
nem mente para poder responder questões sobre esse tópico.
Muitas vezes, há uma confusão entre os conceitos de uma linguagem ser fracamente tipa-
da com uma linguagem ser estaticamente tipada. São conceitos diferentes.
Certo.
Questão mais do que certa. Não é, meu(minha) caro(a) aluno(a)!?
Errado.
Java é uma linguagem de tipagem:
• estática;
• forte.
• dinâmica;
• forte.
A questão “colocou na mesma cesta” Python e Java. As duas são fortemente tipadas, mas
Python é dinamicamente tipada e Java, estaticamente tipada.
www.grancursosonline.com.br 26
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
É uma linguagem fortemente tipada, ou seja, é preciso declarar variáveis e seus tipos.
Errado.
Já vimos esse texto antes, não? Vimos sim! Python, como vimos, é uma linguagem for-
temente tipada. Porém, o conceito da letra trata de uma linguagem estaticamente tipada.
Certo.
A questão atual separou as linguagens segundo suas categorias.
Para concursos, temos que ter em mente que:
As duas são fortemente tipadas, mas Python é dinamicamente tipada e Java, estatica-
mente tipada.
Errado.
Python é:
• dinamicamente tipada;
• fortemente tipada.
www.grancursosonline.com.br 27
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplos de expressões:
Exemplo:
www.grancursosonline.com.br 28
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (QUADRIX/2019/CRA-PR/ANALISTA SISTEMA I) Julgue o item quanto à programação
orientada a objetos e à linguagem de programação Python.
Certo.
Como vimos na figura 5.1, as instruções contêm expressões. Nas instruções formadas por
expressões, podemos ter a criação de variáveis e utilização delas.
Certo.
Estou trazendo esta questão novamente porque ela cita o bloco em Python. Os blocos são
grupos de zero ou mais instruções. O início e o fim de um bloco em Python são delimitados
por indentação.
www.grancursosonline.com.br 29
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
www.grancursosonline.com.br 30
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
DIRETO DO CONCURSO
1. (MS CONCURSOS/2018/GHC/RS/PROGRAMADOR) Quais são os 03 tipos de núme-
ros embutidos no Python 3?
a. int, float, char.
b. int, float, complex.
c. char, complex, ASCII.
d. signed, int, ASCII.
e. char, signed, float.
Letra b.
Tipos numéricos em Python:
• int;
• float;
• complex.
A única alternativa que trouxe os três tipos numéricos em Python foi a letra B.
• Positivos ou negativos;
• Sem decimais;
• De comprimento ilimitado.
www.grancursosonline.com.br 31
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
• Positivos ou negativos;
• Que contém um ou mais decimais;
• De comprimento ilimitado.
Exemplo:
O tipo float também pode representar números científicos, com um “e” para indicar a
potência de 10.
Exemplo:
Representa os números complexos em Python, que são escritos com um “j” como
parte imaginária.
www.grancursosonline.com.br 32
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
6.3.1. Strings
As strings são como um array de bytes. Cada posição desse array de bytes repre-
senta um caractere Unicode. Os colchetes podem ser usados para acessar os elementos
de uma string.
www.grancursosonline.com.br 33
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Para Python, a primeira posição de uma string é o valor 0. Estudaremos mais sobre
strings na sessão Strings em Python, nesta aula.
Exemplo:
ATENÇÃO
Em Python, não há um tipo de dados de caractere. Um único caractere é simples-
mente uma string com comprimento 1.
Exemplo:
Pode-se avaliar qualquer expressão em Python para obter uma das duas respostas:
• True;
• False.
www.grancursosonline.com.br 34
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Em Python, os valores booleanos começam com letra maiúscula (True e False).
Exemplo:
Exemplo:
www.grancursosonline.com.br 35
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Se um valor tiver algum conteúdo (ou uma variável que contiver esse valor), será ava-
liado como como True, por exemplo:
ATENÇÃO
Não confundir o tipo bool com a função bool(). O tipo é em relação ao dado de uma
variável. Já a função bool() é usada para avaliar se um valor ou variável pode retor-
nar True ou False.
• implícito;
• explícito.
www.grancursosonline.com.br 36
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
Veja, meu(minha) caro(a), que a variável x é do tipo int, a variável y é do tipo float. A
variável z, no caso, recebe a soma de x mais y. Para acontecer isso, a linguagem Python
sempre converte tipos de dados menores (no exemplo, o tipo int) em tipos de dados maiores
(no exemplo, o tipo float) para evitar a perda de dados.
No final, é do tipo float o valor da soma de um número tipo int mais um número do tipo
float. Por isso, a variável z é do tipo float.
Agora, veja o que acontece se fizermos uma operação entre variável do tipo int com
uma variável do tipo str:
No exemplo acima, tentamos fazer uma operação com as variáveis x (do tipo int) e y (do
tipo str). Porém, Python não foi capaz de fazer a conversão implícita nessa situação.
Nesse caso, é necessário fazer uma conversão explícita. Nesse tipo de conversão, o
programador converte o tipo de dados de um objeto no tipo de dados necessário. Para isso,
a linguagem Python disponibiliza algumas funções, tais como:
• int()
• float()
• complex()
• str()
www.grancursosonline.com.br 37
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Sintaxe:
<tipo de dados necessário> (expressão)
Agora a variável y receber o valor string “10” convertido explicitamente para o tipo int (y
= int(“10”)). A variável z, então, pode receber a operação entre duas variáveis do tipo int (no
caso, a operação de soma).
www.grancursosonline.com.br 38
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
• Um literal inteiro;
• Um literal de ponto flutuante;
– Arredondando para baixo, para o número inteiro anterior.
• Um literal de string;
– Desde que a string represente um número inteiro.
Exemplo:
• Um literal inteiro;
• Um literal de ponto flutuante; ou
• Um literal de string;
– Desde que a string represente um número de ponto flutuante ou um inteiro.
www.grancursosonline.com.br 39
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
• Na linha 1, o valor int 15 foi convertido para o valor de ponto flutuante 15.0;
• Na linha 7, a string “3”, que representaria um valor int, foi convertido para o valor de
ponto flutuante 3.0;
• Não há possibilidade do tipo complexo para o tipo float;
– O que gerou erro na linha 13.
• Um literal inteiro;
• Um literal de ponto flutuante; ou
• Um literal de string;
– Desde que a string represente um número de ponto flutuante ou um inteiro.
Exemplo:
www.grancursosonline.com.br 40
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
A função str() constrói uma string a partir de uma ampla variedade de tipos de dados,
incluindo:
• Literais de string;
• Literais inteiros; ou
• Literais de ponto flutuante.
Exemplo:
DIRETO DO CONCURSO
1. (QUADRIX/2019/CREA-TO/ANALISTA DE SISTEMAS) Quanto aos conceitos e às téc-
nicas de programação de computadores, julgue o item.
Errado.
Vimos que a função int() constrói um número inteiro a partir de um literal de ponto flutuante,
e o arredondamento acontece para baixo, para o número inteiro anterior:
Então o erro da questão é: o valor seria 5 no resultado da função int() aplicada no valor de
ponto flutuante 5.9.
www.grancursosonline.com.br 41
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Em Python, o comando int(“1”) cria um objeto do tipo int, que recebe 1 como parâmetro
no seu construtor.
Certo.
Outra questão sobre a função int(). Neste caso, temos a conversão de um valor string “1”
para um valor inteiro 1.
7. Strings em Python
7.1. Conceituação
www.grancursosonline.com.br 42
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (QUADRIX/2019/CRA-PR/ANALISTA SISTEMA I) Julgue o item quanto à programação
orientada a objetos e à linguagem de programação Python.
Um recurso bastante útil da Python consiste no tratamento posicional das strings. Elas
são consideradas como sequências mutáveis e podem ter sua ordem (sequência) al-
terada da esquerda para a direita ou vice-versa, dependendo da função do programa.
Errado.
Uma string é uma sequência imutável, alocada dinamicamente e sem restrição de tamanho.
Uma String Python é uma sequência imutável, alocada estaticamente, com restrição
de tamanho.
Errado.
Uma string é uma sequência imutável, alocada dinamicamente e sem restrição de tamanho.
Letra a.
Strings são sequências de caracteres imutáveis alocadas dinamicamente e sem restrição
de tamanho.
www.grancursosonline.com.br 43
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Uma String Python é uma sequência imutável, alocada estaticamente, com restrição
de tamanho.
Errado.
A questão é idêntica ao que vimos acima, sendo que esta da FCC é de 2012 e a da UFPe-
l-CESé, de 2015.
Novamente explicando: Uma string é uma sequência imutável, alocada dinamicamente e
sem restrição de tamanho.
As strings são como um array de bytes. Cada posição desse array de bytes repre-
senta um caractere Unicode. Os colchetes podem ser usados para acessar os elementos
de uma string.
ATENÇÃO
Para Python, a primeira posição de uma string é o valor 0.
Para acessar um caractere de uma string, utiliza-se a indexação numérica (string[n]), in-
formando qual a posição da string (n):
Pode-se também usar valores negativos para representar os índices de uma string. Para
entendermos como isso acontece, o último caractere de uma string fica na posição -1, o
penúltimo fica na posição -2, o antepenúltimo, na posição -3 e assim por diante.
www.grancursosonline.com.br 44
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
ATENÇÃO
Ao acessar um caractere informando um índice que não se encontra na string, resul-
tará em um erro.
Exemplo:
No exemplo acima, os índices da string vão de 0 a 13. Então, ao informar a posição 20,
gerou-se um erro de índice fora da gama de índices da string.
Por último, pode-se acessar cada caractere de uma string utilizando uma estrutura de
repetição for:
ATENÇÃO
Estudaremos as estruturas de controle (de condição e de repetição) na próxima aula.
www.grancursosonline.com.br 45
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
O PULO DO GATO
Essa operação de retornar um intervalo de uma string é chamada de fatiamento de strings
(slicing strings). O fatiamento de strings é bastante cobrado em questões de concursos
sobre strings em Python.
ATENÇÃO
O fatiamento de strings não afeta a string original. Quando usamos essa operação, o que
é retornado é um trecho da string original. Veja o exemplo abaixo para entender melhor.
Exemplo:
www.grancursosonline.com.br 46
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Veremos mais exemplos sobre fatiamento de strings, para que você, meu(minha) preza-
do(a) aluno(a), possa entender como funciona a operação em várias situações.
Podemos fatiar uma string, omitindo o índice inicial. Dessa forma, é como se o intervalo
começasse do primeiro caractere:
Veja que x[8:] é equivalente a x[8:14], ou seja, ao omitirmos o índice final, é como se fati-
ássemos a string a partir do índice inicial informado até o final da string.
Além da omissão do índice inicial e do índice final, podemos omitir os dois ao mesmo tem-
po. Quando isso acontece, o que é retornado é a string completa, pois não houve parâme-
tros de fatiamento.
Exemplo:
Podemos também usar valores negativos para representar os índices do fatiamento. Para
entendermos como isso acontece, o último caractere fica na posição -1, o penúltimo fica na
posição -2, o antepenúltimo, na posição -3 e assim por diante.
www.grancursosonline.com.br 47
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
Exemplo:
Quando se usa valores negativos para o parâmetro passo, o fatiamento vem de for-
ma inversa.
Exemplo:
www.grancursosonline.com.br 48
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
• Se o índice de início for maior que o índice final e o passo for positivo:
– Então não é retornado nada.
• Se o índice de início for menor que o índice final e o passo for negativo:
– Então não é retornado nada.
Exemplo:
DIRETO DO CONCURSO
1. (COVEST/COPSET/2019/UFPE/ANALISTA DE TECNOLOGIA DA INFORMAÇÃO/SIS-
TEMAS) Considere uma String, que armazena o valor “ALO MUNDO”. Utilizando Java
e Python, respectivamente, a alternativa com as instruções que exibiriam a substring
“MU” seria:
a. Java: s.substring(4,6)
Python: s.substring(5,7)
b. Java: s[5,6]
Python: s[5:6]
c. Java: s.substring(4,6)
Python: s[-5:-3]
d. Java: s.substring(-4,-3)
Python: s[5:6]
e. Java: s.substring(4,6)
Python: s.substr(4,6)
Letra c.
Focando apenas na linguagem Python, para fazemos o fatiamento da string “ALO MUN-
DO”, a fim de trazer o trecho “MU”, existem duas formas: usando índices positivos ou
negativos.
www.grancursosonline.com.br 49
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Com isso, de acordo com o código, o gabarito é a letra c, pois foi a única alternativa que
trouxe o código correto em Python: s[-5: -3].
Letra a.
Para retornar o trecho “SU” da string “ IFSUL” (sendo que o primeiro caractere é um espaço
em branco, podemos fazer das seguintes formas:
www.grancursosonline.com.br 50
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
O operador in também pode ser usado para verificar se uma string se encontra em
outra (if substring in string):
Nesse caso, será impressa a frase porque a string “Rogerão” está na string original
“Rogerão Araújo”. Já a frase da string “Kal-El” não será impressa, pois essa string não se
encontra na string original da variável x.
Podemos usar os operadores not in para verificar se uma string não se encontra em
outra (if substring not in string):
Nesse caso, será impressa a frase porque a string “Kal-El” não está na string original
“Rogerão Araújo”. Já a frase da string “Rogerão” não será impressa, pois essa string se
encontra na string original da variável x.
www.grancursosonline.com.br 51
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Concurseiro(a), temos vários métodos para tratar strings em Python. Vamos conhecer
alguns principais para que você possa responder várias questões.
O método upper() retorna a string em maiúscula (string.upper()). Já o método lower()
traz a string em minúscula (string.lower()), e o método capitalize() retorna a string com o
primeiro caractere em maiúsculo (string.capitalize()). Vejamos alguns exemplos:
No primeiro exemplo, usamos a vírgula (“,”) como separador. No segundo exemplo, não
foi citado o separador, então, por padrão, foi usado o espaço em branco como separador.
www.grancursosonline.com.br 52
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Estudaremos sobre as listas e outras coleções em Python (tuplas, sets e dicionários)
mais adiante. Ainda nesta aula.
No exemplo, a subtring “Python” aparece duas vezes na string da variavél x, que contém
os nomes de várias linguagens de programação.
ATENÇÃO
Não confundir o método count() com a função len(). count() é um método para contar
a quantidade que uma substring aparece dentro de uma string. A função len() traz a
quantidade de caracteres de uma string.
www.grancursosonline.com.br 53
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Na utilização dos métodos citados, nenhum deles modifica a string original. O que
ocorre é que uma string nova é gerada a partir dos métodos.
Exemplo:
Perceba que, mesmo depois de chamar o método pper() da string apontada pela variável
x, quando a variável x foi impressa, ela continuou com a string original “Rogerão Araújo”.
www.grancursosonline.com.br 54
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (VUNESP/2019/PREFEITURA DE CAMPINAS/SP/ANALISTA DE TECNOLOGIA DA
INFORMAÇÃO) No Python 3.7, a instrução que realiza a impressão de uma lista de
cadeias de caracteres nomeada “y”, separando cada elemento com uma vírgula, é:
a. print(‘,’.join(y))
b. print(join(y, ‘,’))
c. print(y.join(‘,’))
d. print(y, ‘,’)
e. print(y % (‘,’))
Letra a.
A descrição da questão cita o método join(), que pega todos os itens em uma coleção (lis-
tas, tuplas, sets e dicionários) e os une em uma string através da especificação de uma
outra string como separador:
Letra a.
A descrição dessa questão agora conceitua o método startswith(), que retorna True se a
string começa com o valor especificado. Caso contrário, False.
Comentando todas as letras:
a. Certa.
b. Errada. A palavra-chave return é usada para criar funções em Python.
c. Errada. A palavra-chave def é usada para criar funções em Python.
d. Errada. A função len() traz a quantidade de caracteres de uma string.
e. Errada. O método count() retorna a quantidade que uma substring aparece dentro de uma string.
www.grancursosonline.com.br 55
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
#!/usr/bin/python
seq = ‘AUUCCUUCTGG’
seq = seq.replace(‘A’,’G’)
seq = seq.replace(‘U’,’T’)
G = seq.count(‘G’)
C = seq.count(‘C’)
T = seq.count(‘T’)
print G, C, T
Letra d.
Comentando o código, temos:
www.grancursosonline.com.br 56
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Na linha 11, a variável seq vai apontar para uma outra nova string retornada pelo método
replace() a partir da string anterior “GUUCCUUCTGG”. A substituição foi de ‘U’ por por ‘T’.
Então, a variável seq vai apontar agora para a string “GTTCCTTCTGG”.
A variável G vai receber a quantidade da substring “G” na string “GTTCCTTCTGG”, apon-
tada pela variável seq. Então a variável G vai receber 3.
A variável C vai receber a quantidade da substring “C” na string “GTTCCTTCTGG”, apon-
tada pela variável seq. Então a variável C vai receber 3.
Finalmente, a variável T vai receber a quantidade da substring “T” na string “GTTCCTTC-
TGG”, apontada pela variável seq. Então a variável T vai receber 5.
Ao final do código, na linha 18, teremos a impressão das variáveis G, C, T, ou seja: 3, 3, 5.
Poderíamos marcar a letra B de cara, mas há um detalhe: ao utilizar a função print() com
mais de uma variável, o que vai separar seus valores é um espaço em branco. Portanto,
print(G, C, T) retorna 3 3 5.
Concluímos, então, que o gabarito é a letra D.
Letra d.
O método capitalize() retorna a string com o primeiro caractere em maiúsculo. Então a letra
D é o nosso gabarito.
Comentando todas as letras:
a. Errada. Não há um método específico para o que está descrito na letra A. Podemos
usar o método replace(), substituindo o espaço em branco por nada (replace(“ “, “”)). Outro
método que se aproxima do que está na letra A é o método strip(), que remove qualquer
espaço em branco do início ou do fim.
b. Errada. A descrição da letra é do método isnumeric().
c. Errada. A descrição da letra é do método index().
d. Certa.
e. Errada. A descrição da letra é do método upper().
www.grancursosonline.com.br 57
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Para concatenar (combinar, juntar) duas ou mais strings, usa-se o operador + (string1
+ string2).
Exemplo:
Entretanto, podemos combinar strings com números, variáveis de vários tipos e expres-
sões que retornam vários tipos de valores. Isso é chamado de formatação ou interpolação
de strings.
www.grancursosonline.com.br 58
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
O método pode aceitar mais que um parâmetro, e cada parâmetro será colocado em
seu respectivo marcador de posição {}:
Por último, pode-se usar números nos marcadores de posição {n} para indicar o índice
dos parâmetros. O primeiro parâmetro terá o índice 0, o segundo terá o índice 1 e assim
por diante.
O marcador de posição {n} com índice é usado para se certificar que um parâmetro
estará corretamente em seu marcador.
Exemplo:
www.grancursosonline.com.br 59
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
Além de formatarmos uma string com diversas variáveis, podemos usar a instrução f-s-
tring para formatar uma string com expressões.
Exemplo:
www.grancursosonline.com.br 60
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
www.grancursosonline.com.br 61
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Assim como se pode usar a instrução f-string para formatar uma string com expressões,
pode-se também usar o operador módulo % para trabalhar com expressões:
DIRETO DO CONCURSO
1. (INSTITUTO AOCP/2020/MJ-SP/CIENTISTA DE DADOS/BIG DATA) Um desenvolve-
dor implementou um programa para exibir a média de um dado retirado de uma grande
base de dados. Para isso, foi utilizada a linguagem Python. O trecho do código que
mostra o resultado é apresentado a seguir. Assinale a alternativa correta acerca desse
trecho de código sabendo que a média do usuário foi 75.
Letra a.
No código da questão, o método format() foi chamado a partir de uma string “‘Sua média
foi {}.”. Como parâmetro, tem-se a variável med, cujo valor é 75. Com isso, temos a se-
guinte saída:
Então a letra A é nosso gabarito, pois é impresso “Sua média foi 75”.
www.grancursosonline.com.br 62
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Letra d.
A questão está citando a formatação ou a interpolação de strings com o operador módulo
%. Então a alternativa correta é a letra D.
8. Coleções em Python
Python possui uma série de estruturas de dados integrados. Essas estruturas de dados
fornecem como organizar e armazenar dados. Através das coleções, pode-se preencher e
manipular eficientemente as estruturas de dados.
• Lista;
• Tupla;
• Set;
• Dicionário.
www.grancursosonline.com.br 63
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
A partir da versão Python 3.7, os dicionários são ordenados.
Exemplo:
www.grancursosonline.com.br 64
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (NC/UFPR/2017/ITAIPU BINACIONAL/PROFISSIONAL DE NÍVEL SUPERIOR JR/
COMPUTAÇÃO OU INFORMÁTICA/SUPORTE) Três tipos de dados fundamentais em
Python são as listas (“lists”), sequências ou ‘tuplas’ (“tuples”) e dicionários (“dictiona-
ries”). A respeito dessas estruturas, é correto afirmar:
a. Listas não podem ser modificadas depois de criadas, ao passo que sequências e
dicionários podem.
b. Listas podem ser modificadas, mas seu tamanho não pode ser modificado após a
criação, ao passo que sequências e dicionários não têm essa limitação.
c. Dicionários não podem ser modificados depois de criados, ao passo que listas e
sequências podem.
d. Listas e sequências são indexadas por inteiros, ao passo que dicionários podem ser
indexados por “strings”.
e. Listas e dicionários são indexados por inteiros, ao passo que sequências podem ser
indexadas por “strings”.
Letra d.
Uma questão excelente para revisão:
www.grancursosonline.com.br 65
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Certo.
Somente a partir da versão Python 3.7, os dicionários são ordenados.
8.2. Listas
São coleções:
• Ordenadas;
• Mutáveis;
• Indexadas;
• Que permitem membros repetidos.
ATENÇÃO
Em Python, o primeiro elemento de uma lista começa no índice 0.
Pode-se também usar valores negativos para representar os índices de uma lista. Para
entendermos como isso acontece, o último elemento fica na posição -1, o penúltimo fica na
posição -2, o antepenúltimo, na posição -3 e assim por diante.
www.grancursosonline.com.br 66
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Exemplo:
ATENÇÃO
Ao acessar um elemento informando um índice que não se encontra em uma lista,
resultará em um erro.
Exemplo:
DIRETO DO CONCURSO
1. (UFPEL-CES/2015/UFPEL/TÉCNICO EM TECNOLOGIA DA INFORMAÇÃO/ ADAPTA-
DA) Em relação às características da linguagem Python, julgue o item a seguir como
CERTO ou ERRADO.
Uma lista em Python é um conjunto de valores acessados por um índice numérico, intei-
ro, começando em 1. Assim como em outras linguagens, a lista pode armazenar apenas
valores de um mesmo tipo.
www.grancursosonline.com.br 67
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Errado.
Uma lista em Python é um conjunto de valores acessados por um índice numérico, inteiro.
Até aí tudo bem. Porém, o índice começa em 0.
Outro erro na questão é que podemos ter elementos de diferentes tipos em uma mesma lista:
Letra c.
Esta questão traz o conhecimento tanto do inglês quanto do uso de listas em Python.
Traduzindo: “Em Python, a instrução ‘for loop’ é usada para iterar em uma sequência. Con-
siderando isso, escolha a alternativa correta que apresenta um exemplo adequado sobre o
uso de ‘for loop’ em Python.”
Como estudamos, utilizamos a estrutura de repetição for da seguinte forma para iterar ele-
mentos de uma lista em Python:
www.grancursosonline.com.br 68
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Letra c.
Questão interessante que envolve o conhecimento de listas e strings em Python. Uma
string funciona como uma lista de elementos de caracteres:
Ou seja, a primeira dimensão retorna a string “gato”. A partir dessa string, pede-se a posi-
ção 2 (segunda dimensão).
Com isso, o gabarito é a letra C.
www.grancursosonline.com.br 69
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Certo.
O item trouxe um exemplo de uso de valores negativos para representar os índices de uma
lista. No caso, o penúltimo fica em uma lista na posição -2:
Exemplo:
www.grancursosonline.com.br 70
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
O fatiamento de listas não afeta a lista original. Quando usamos essa operação, é
retornado um trecho da lista original. Veja o exemplo abaixo para entender melhor.
Exemplo:
Podemos fatiar uma lista, omitindo o índice inicial. Dessa forma, é como se o intervalo co-
meçasse do primeiro elemento:
www.grancursosonline.com.br 71
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Além da omissão do índice inicial e do índice final, podemos omitir os dois ao mesmo tem-
po. Quando isso acontece, são retornados todos os elementos da lista, pois não houve
parâmetros de fatiamento.
Exemplo:
Podemos também usar valores negativos para representar os índices do fatiamento. Para
entendermos como isso acontece, o último elemento fica na posição -1, o penúltimo fica na
posição -2, o antepenúltimo, na posição -3 e assim por diante.
Exemplo:
Exemplo:
www.grancursosonline.com.br 72
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Quando se usa valores negativos para o parâmetro passo, o fatiamento vem de for-
ma inversa.
Exemplo:
• Se o índice de início for maior que o índice final e o passo for positivo:
– Então não é retornado nada.
• Se o índice de início for menor que o índice final e o passo for negativo:
– Então não é retornado nada.
Exemplo:
www.grancursosonline.com.br 73
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (IFPE/2016/IF-PE/TÉCNICO EM TECNOLOGIA DA INFORMAÇÃO/DESENVOLVI-
MENTO/ADAPTADA) Uma das estruturas de dados existentes na linguagem de progra-
mação Python são as listas. Considere o trecho de código abaixo:
Errado.
len() não é um método, é uma função, ou seja, não é chamada a partir de uma lista:
Errado.
Não existe o método size(). E, para se obter o tamanho de uma lista, usa-se a função len().
www.grancursosonline.com.br 74
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
3. (IFB/2017/IFB/PROFESSOR/INFORMÁTICA/DESENVOLVIMENTO DE SISTEMAS)
Dado o código em Python abaixo, assinale a alternativa que contém a sequência COR-
RETA de números da saída gerada pelos comandos “print”:
Letra a.
Comentando cada chamada da função print no código, temos:
• print(numeros[2]):
– Será impresso o terceiro elemento (posição 2): 64;
• print(numeros[7-6]):
– O índice informado é 7 – 6 = 1;
– Será impresso o segundo elemento (posição 1): 32;
• print(numeros[-1]):
– Será impresso o último elemento (posição -1): 1024;
• print(numeros[len(numeros)-1]):
– len(numeros): 7;
– O índice informado é 7 – 1 = 6;
– Será impresso o último elemento (posição 6): 1024;
• print(numeros[5-7]):
– O índice é 5 – 7 = -2;
– Será impresso o penúltimo elemento (posição -2): 512.
www.grancursosonline.com.br 75
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Veremos duas formas para adicionar um elemento em uma lista. Primeiramente, usare-
mos o método append(), informando um elemento a ser inserido (lista.append(elemento)):
Ao usar o método insert(), os demais elementos da lista serão remanejados para frente,
após o novo elemento inserido.
ATENÇÃO
Ao usar o método insert() e informar um índice fora da gama de índices de uma lista,
o novo elemento será inserido no final da lista.
Exemplo:
www.grancursosonline.com.br 76
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (IFPE/2016/IF/PE/TÉCNICO EM TECNOLOGIA DA INFORMAÇÃO/ DESENVOLVI-
MENTO/ADAPTADA) Uma das estruturas de dados existentes na linguagem de progra-
mação Python são as listas. Considere o trecho de código abaixo:
Errado.
Ao usar o método append(), insere-se um elemento no final da lista:
Errado.
Para usar o método insert(), deve-se informar dois parâmetros: a posição do novo ele-
mento e o valor. Ao usar o método, os demais elementos da lista serão remanejados para
frente, após o elemento novo inserido:
Então há dois erros na questão: 1) o método insert() precisa de dois parâmetros; 2) o méto-
do não insere no início da lista, e sim em uma posição específica, de acordo com o primeiro
parâmetro.
www.grancursosonline.com.br 77
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Se o item a ser removido não existir, remove() gerará um erro.
Exemplo:
O elemento “C#” não existe na lista, por isso houve um erro ao usar o remove().
Pode-se remover um elemento em uma posição específica de duas formas: através do
método pop(), informando um índice do elemento a ser removido (lista.pop(n)), ou usando
a palavra-chave del, seguida de uma lista e do índice do elemento a ser removido (del
lista[n]).
Exemplo:
www.grancursosonline.com.br 78
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Ao usar o método pop(n) ou a palavra-chave del, os demais elementos da lista serão rema-
nejados, depois do elemento citado ser excluído.
ATENÇÃO
Ao usar a método pop(n) ou a palavra-chave del para remover um elemento, infor-
mando um índice que não se encontra em uma lista, resultará no erro de índice fora
da gama de índices da lista, como foi demonstrado na seção 8.2.3.
Exemplo:
O método pop() (lista.pop()), quando usada sem parâmetro, remove o último elemento de
uma lista:
DIRETO DO CONCURSO
1. (FCC/2012/MPE/PE/ANALISTA MINISTERIAL/INFORMÁTICA) Em Python, os méto-
dos de lista permitem utilizar listas como pilhas, onde o item adicionado por último é o
primeiro a ser recuperado. Para adicionar um item ao topo da pilha, e para recuperar
um item do topo da pilha utilizam-se, respectivamente os métodos:
a. append() e pop().
b. insert() e top().
c. addTop() e pop().
d. add() e get().
e. addItem() e top().
Letra a.
O conceito de uma pilha é: adicionamos um elemento no topo da estrutura e retiramos do
topo dela, ou seja, LIFO (Last In, First Out).
www.grancursosonline.com.br 79
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Se pegarmos o caso de uma lista em Python, podemos trabalhar com ela, adicionando
elementos no final da lista e retirando os elementos no seu final. Tudo isso seguindo o
conceito LIFO. O final da lista poderia ser tratado como “topo” da lista.
Com base nessa revisão, a tabela 1 da parte teórica traz dois métodos importantes que
podem fazer com que a lista seja tratada como uma pilha:
• append():
– Insere um elemento no final de uma lista.
pop():
•
– Quando usada sem parâmetro, remove o último elemento de uma lista.
Portanto, o gabarito é a letra A.
8.3. Tuplas
São coleções:
• Ordenadas;
• Imutáveis;
• Indexadas;
• Que permitem membros repetidos.
DIRETO DO CONCURSO
1. (IF SUL RIO-GRANDENSE/2019/ANALISTA DE TECNOLOGIA DA INFORMAÇÃO/
ADAPTADA) Em relação às características da linguagem Python, julgue o item a seguir
como CERTO ou ERRADO.
Errado.
As tuplas em Python são imutáveis.
www.grancursosonline.com.br 80
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Letra c.
Meu(minha) prezado(a) aluno(a), a única coleção imutável em Python são as tuplas.
ATENÇÃO
Veja que a tupla3 possui elementos repetidos (1, 1), pois as tuplas em Python
aceitam isso.
DIRETO DO CONCURSO
1. (COMPERVE/2016/UFRN/Técnico de Tecnologia da Informação) Analise o trecho de
código Python a seguir, escrito para a versão 2.6.
t=(1,3,4)
t2=(3,4,5)
t3=t+t2
n=0
for e in t3:
if (e>2):
n+=e
print(n)
www.grancursosonline.com.br 81
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Letra c.
Meu(minha) prezado(a) aluno(a), esta é uma questão excelente sobre junção de tuplas.
Organizando o código:
Temos duas tuplas iniciais: t e t2. A tupla t3 é o resultado da concatenação dessas duas
tuplas: (1, 3, 4, 3, 4, 5).
A variável n é usada como uma totalizadora, e ela começa com o valor 0.
Temos uma estrutura de repetição for para percorrer os valores da tupla t3. Dentro dessa
estrutura, temos uma estrutura de condição if: se o valor do elemento da tupla for maior que
2, então a variável n receberá ela mesma mais o valor do elemento.
t t2 t3 n e
(1, 3, 4) (3, 4, 5) (1, 3, 4, 3, 4, 5) 0 -
0 1
3 3
7 4
10 3
14 4
19 5
www.grancursosonline.com.br 82
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
8.4. Sets
São coleções:
• Não ordenadas;
• Mutáveis;
• Não indexadas;
• Que não permitem membros repetidos.
O primeiro ponto é sabermos como criar sets em Python. Podemos criar com o cons-
trutor set(), podendo já passar elementos como parâmetros, ou já informando os elementos
envoltos em chaves.
Como exemplos, criaremos dois sets com quatro elementos (quatro linguagens de
programação):
ATENÇÃO
Note que a ordem dos elementos impressos pode ser diferente da ordem quando
criamos um set. Isso porque os sets não são ordenados. Cada vez que o código aci-
ma for executado, haverá ordem diferente de impressão.
Um set pode ser criado a partir de outro, ainda usando o construtor set(), passando o
set original como parâmetro:
www.grancursosonline.com.br 83
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Mesmo que sejam informados elementos repetidos na criação de um set, ele conterá
apenas elementos únicos. Os elementos repetidos serão descartados, pois sets não
permitem elementos repetidos.
Exemplo:
Veja, meu(minha) prezado(a) aluno(a), que citei duas vezes a linguagem “Python” na cria-
ção do set, mas, na impressão da coleção, o elemento apareceu apenas uma vez.
DIRETO DO CONCURSO
1. (INÉDITA/2021) Em relação aos sets em Python, julgue o próximo item.
Assim como as listas e tuplas, os sets são coleções em Python que podem conter ele-
mentos repetidos.
Errado.
As listas e tuplas podem, sim, conter elementos repetidos, porém os sets não permitem
elementos repetidos. Mesmo que na criação de um set sejam citados elementos repetidos,
haverá apenas um elemento único para os repetidos.
www.grancursosonline.com.br 84
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
8.5. Dicionários
São coleções:
• Ordenadas;
• Mutáveis;
• Indexadas;
• Que não permitem membros repetidos.
Os dicionários são coleções para armazenar dados em pares de chave e valor. Eles
são escritos com chaves { }.
Com uma série de exemplos, vamos entender o uso de dicionários. Após isso, vamos
resolver várias questões que citam essa coleção.
O primeiro ponto é sabermos como criar dicionários em Python. Podemos criar infor-
mando os elementos, cada um com sua chave e valor e todos os elementos envoltos em
chaves { }:
No exemplo acima, temos um dicionário chamado optimus. Dentro dele, existem vários
pares de chave e valor, por exemplo a chave “nome” e seu valor “Optimus Prime”.
Um dicionário pode ser criado a partir de outro, usando o construtor dict(), passando
o dicionário original como parâmetro:
www.grancursosonline.com.br 85
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Nas listas e nas tuplas, a indexação é feita através de valores inteiros (lista[n] e tu-
pla[n]). Já nos dicionários, a indexação é feita através de strings, que representam
as chaves dos elementos em um dicionário (dicionário[chave]).
ATENÇÃO
Ao acessar um elemento informando uma chave que não se encontra em um dicio-
nário, resultará em um erro.
Exemplo:
No exemplo acima, estamos tentando acessar o valor do elemento cuja chave é “patente”,
porém ela não existe, o que gerou um erro de chave não encontrada.
Pode-se usar também o método get(), passando o nome da chave como parâmetro (di-
cionário.get(chave)):
www.grancursosonline.com.br 86
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
ATENÇÃO
Ao contrário do acesso a um elemento informando uma chave, usando o método
get() e passando uma chave inexistente em um dicionário, não haverá um erro. É
apenas retornado None.
Exemplo:
No exemplo acima, estamos tentando acessar o valor do elemento com o método get()
cuja chave é “patente”, porém ela não existe, o que gerou o resultado None na execução
do código.
Pode-se usar os métodos keys() (dicionário.keys()) para trazer as chaves dos elementos
de um dicionário e values() (dicionário.vaues()), para os valores dos elementos:
www.grancursosonline.com.br 87
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Para obtermos tanto as chaves quanto os valores, podemos usar o método items() (dicio-
nário.items()):
Assim como acontece com as outras coleções, podemos utilizar a estrutura de repetição
for para iterar os elementos. Contudo, para dicionários, podemos iterar tanto chaves e va-
lores quanto os dois ao mesmo tempo.
Pode-se usar o método keys() que a iteração terá o mesmo resultado (for x in dicioná-
rio.keys()):
www.grancursosonline.com.br 88
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Além dessas duas formas, podemos usar o método values() (for x in dicionário.values()):
Por último, vimos que o método items() traz a chave e o valor de cada elemento e pode-
mos iterar da seguinte forma (for x in dicionário.items()):
www.grancursosonline.com.br 89
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (INSTITUTO AOCP/2020/MJSP/ANALISTA DE GOVERNANÇA DE DADOS/BIG DATA)
Um analista do MJSP armazenou nomes e ID no seguinte programa Python:
01 dados = {
02 ‘Machado de Assis’: 7575,
03 ‘Santos Dumont’: 7475,
04 ‘Rui Barbosa’: 1675,
05 };
Letra e.
Para recuperarmos o ID 7475, temos que citar a chave correspondente do dicionário: da-
dos[‘Santos Dumont’]:
www.grancursosonline.com.br 90
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (UFCG/2019/UFCG/ANALISTA DE TECNOLOGIA DA INFORMAÇÃO - DESENVOLVI-
MENTO DE SISTEMAS/ADAPTADA) Julgue o item a seguir como CERTO ou ERRADO.
Errado.
Usamos a função len(d) para retornar o número de elementos de uma coleção.
9. Arrays
9.1. Conceituação
ATENÇÃO
Python não tem suporte embutido para arrays, mas listas (estudadas na seção 8.2)
podem ser usadas em seu lugar. Também pode-se trabalhar com arrays em Python,
importando uma biblioteca, como a biblioteca NumPy, porém isso foge do esco-
po do curso.
www.grancursosonline.com.br 91
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
DIRETO DO CONCURSO
1. (FCC/2019/TRF 4ª REGIÃO/ANALISTA JUDICIÁRIO/INFRAESTRUTURA EM TECNO-
LOGIA DA INFORMAÇÃO) Considerando que em um programa Python em condições
ideais há um array criado pelo comando nomes = [“Maria”, “Pedro”, “João”], para exibir
os valores contidos nesse array utiliza-se
a. for x in nomes: out.print(x)
b. while x in nomes: print(x)
c. foreach x in nomes: print(x)
d. foreach x in nomes: system.println(x)
e. for x in nomes: print(x)
Letra e.
Esta questão é um exemplo que cita array, mas que podemos responder com o conheci-
mento de listas em Python (seção 3.2).
Como estudamos na seção 3.2.3, utilizamos a estrutura de repetição for da seguinte forma
para iterar elementos de uma lista em Python:
www.grancursosonline.com.br 92
PYTHON – BÁSICO DA LINGUAGEM
Professor: Rogério Araújo
Referências
www.grancursosonline.com.br 93
#VEM
FACILITE SEUS ESTUDOS: TUDO NO SEU TEMPO VOCÊ NÃO ESTÁ SOZINHO:
rotas de aprovação, mapas E ESPAÇO: mentorias diárias, ao vivo,
mentais, resumos e faça o download de e fórum de dúvidas não
exercícios irão te guiar por videoaulas e de PDFs e te deixarão só
um caminho mais simples estude onde e quando nesta caminhada.
e rápido. você quiser e puder.