NEW
Font size
Worksheets03/07 - PND - Igualdade em Python
Total questions: 20
Worksheet time: 10mins
Qual operador em Python é usado para verificar se dois valores são iguais (igualdade de valor)?
is
!=
==
=
O que o operador is verifica em Python?
Se dois objetos têm o mesmo valor.
Se dois objetos são do mesmo tipo.
Se dois objetos são o mesmo objeto na memória (identidade).
Se um objeto é uma instância de uma classe específica.
Dada a= [1, 2, 3] e b = [1, 2, 3], qual será o resultado de a == b e a is b respectivamente?
True, True
False, False
True, False
False, True
Para números inteiros pequenos (geralmente de -5 a 256), Python frequentemente "internaliza" os objetos. O que isso significa para a comparação is?
A) A comparação is sempre retornará False para esses números.
B) A comparação is pode retornar True mesmo que os números sejam criados independentemente, pois Python reutiliza esses objetos.
C) A comparação is é irrelevante para números, apenas para strings.
D) A comparação is sempre retornará True para quaisquer números inteiros.
Qual a função embutida em Python que retorna o identificador único de um objeto (seu endereço de memória)?
type()
value()
id()
address()
Se x = 10 e y = 10, qual a relação entre id(x) e id(y)?
id(x) e id(y) serão sempre diferentes.
id(x) e id(y) serão sempre iguais devido à otimização de inteiros pequenos.
id(x) será sempre maior que id(y).
id(x) será sempre menor que id(y).
Dada a = "Olá" e b = "Olá", qual será o resultado de a == b e a is b respectivamente?
True, True
False, False
True, False
False, True
Por que é geralmente preferível usar == em vez de is para comparar o conteúdo de dois objetos (e.g., strings, listas)?
Porque is é mais lento que ==.
Porque is compara o tipo do objeto, não o valor.
Porque == é projetado para comparar valores, enquanto is compara identidade de objeto, que nem sempre reflete a igualdade de conteúdo desejada.
Porque is só funciona com números.
Considere l1 = [1, 2, 3] e l2 = l1. Qual será o resultado de l1 is l2?
False
True
Erro de sintaxe
None
Qual método mágico (dunder method) é implementado para o operador == em Python?
__eq__()
__is__()
__comp__()
__equals__()
Dada a = 5.0 e b = 5.0, qual será o resultado de a == b e a is b respectivamente?
True, True
False, False
True, False
False, True
Ao definir uma classe personalizada, se você quiser que duas instâncias sejam consideradas "iguais" com base em seus atributos (e não apenas se são o mesmo objeto), qual método você deve sobrescrever?
__init__()
__hash__()
__eq__()
__str__()
O que acontece se você sobrescrever __eq__() em uma classe, mas não __hash__()?
A) A classe não poderá ser instanciada.
B) Objetos da classe não poderão ser usados como chaves em dicionários ou membros de conjuntos.
C) O operador == não funcionará corretamente.
D) Não há problema algum, __hash__() é opcional e não relacionado.
Qual dos seguintes tipos de dados em Python é imutável?
list
dict
set
tuple
Dada x = None e y = None, qual o resultado de x is y?
False
True
Erro de tipo
None
Qual é a prática recomendada para comparar um valor com None em Python?
valor == None
valor is None
valor != None
not valor
O que é o "Duck Typing" e como ele se relaciona com a igualdade em Python?
Ele exige que objetos sejam do mesmo tipo para serem comparados.
Ele permite que objetos sejam comparados se tiverem um __eq__ definido, independentemente de seus tipos.
Ele é um mecanismo para otimizar comparações de igualdade em tempo de compilação.
Ele restringe a comparação de igualdade apenas a objetos com atributos idênticos.
Dada s1 = "hello" e s2 = "HELLO".lower(), qual o resultado de s1 == s2 e s1 is s2 respectivamente?
True, True
False, False
True, False
False, True
Qual dos seguintes cenários pode levar a um comportamento inesperado ao usar is em vez de == para comparar strings?
Comparar strings literais que são exatamente iguais.
Comparar strings longas ou strings resultantes de operações de concatenação/formatação.
Comparar strings que contêm apenas números.
Comparar strings em versões antigas do Python.
Dada lista1 = [10, 20] e lista2 = [10, 20], e então lista1.append(30). Qual será o resultado de lista1 == lista2 após a modificação?
True
False
Erro de índice
