wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

03/07 - PND - Igualdade em Python

Total questions: 20

Worksheet time: 10mins

Name
Class
Date
1.

Qual operador em Python é usado para verificar se dois valores são iguais (igualdade de valor)?

a)

is

b)

!=

c)

==

d)

=

2.

O que o operador is verifica em Python?

a)

Se dois objetos têm o mesmo valor.

b)

Se dois objetos são do mesmo tipo.

c)

Se dois objetos são o mesmo objeto na memória (identidade).

d)

Se um objeto é uma instância de uma classe específica.

3.

Dada a= [1, 2, 3] e b = [1, 2, 3], qual será o resultado de a == b e a is b respectivamente?

a)

True, True

b)

False, False

c)

True, False

d)

False, True

4.

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) A comparação is sempre retornará False para esses números.

b)

B) A comparação is pode retornar True mesmo que os números sejam criados independentemente, pois Python reutiliza esses objetos.

c)

C) A comparação is é irrelevante para números, apenas para strings.

d)

D) A comparação is sempre retornará True para quaisquer números inteiros.

5.

Qual a função embutida em Python que retorna o identificador único de um objeto (seu endereço de memória)?

a)

type()

b)

value()

c)

id()

d)

address()

6.

Se x = 10 e y = 10, qual a relação entre id(x) e id(y)?

a)

id(x) e id(y) serão sempre diferentes.

b)

id(x) e id(y) serão sempre iguais devido à otimização de inteiros pequenos.

c)

id(x) será sempre maior que id(y).

d)

id(x) será sempre menor que id(y).

7.

Dada a = "Olá" e b = "Olá", qual será o resultado de a == b e a is b respectivamente?

a)

True, True

b)

False, False

c)

True, False

d)

False, True

8.

Por que é geralmente preferível usar == em vez de is para comparar o conteúdo de dois objetos (e.g., strings, listas)?

a)

Porque is é mais lento que ==.

b)

Porque is compara o tipo do objeto, não o valor.

c)

Porque == é projetado para comparar valores, enquanto is compara identidade de objeto, que nem sempre reflete a igualdade de conteúdo desejada.

d)

Porque is só funciona com números.

9.

Considere l1 = [1, 2, 3] e l2 = l1. Qual será o resultado de l1 is l2?

a)

False

b)

True

c)

Erro de sintaxe

d)

None

10.

Qual método mágico (dunder method) é implementado para o operador == em Python?

a)

__eq__()

b)

__is__()

c)

__comp__()

d)

__equals__()

11.

Dada a = 5.0 e b = 5.0, qual será o resultado de a == b e a is b respectivamente?

a)

True, True

b)

False, False

c)

True, False

d)

False, True

12.

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?

a)

__init__()

b)

__hash__()

c)

__eq__()

d)

__str__()

13.

O que acontece se você sobrescrever __eq__() em uma classe, mas não __hash__()?

a)

A) A classe não poderá ser instanciada.

b)

B) Objetos da classe não poderão ser usados como chaves em dicionários ou membros de conjuntos.

c)

C) O operador == não funcionará corretamente.

d)

D) Não há problema algum, __hash__() é opcional e não relacionado.

14.

Qual dos seguintes tipos de dados em Python é imutável?

a)

list

b)

dict

c)

set

d)

tuple

15.

Dada x = None e y = None, qual o resultado de x is y?

a)

False

b)

True

c)

Erro de tipo

d)

None

16.

Qual é a prática recomendada para comparar um valor com None em Python?

a)

valor == None

b)

valor is None

c)

valor != None

d)

not valor

17.

O que é o "Duck Typing" e como ele se relaciona com a igualdade em Python?

a)

Ele exige que objetos sejam do mesmo tipo para serem comparados.

b)

Ele permite que objetos sejam comparados se tiverem um __eq__ definido, independentemente de seus tipos.

c)

Ele é um mecanismo para otimizar comparações de igualdade em tempo de compilação.

d)

Ele restringe a comparação de igualdade apenas a objetos com atributos idênticos.

18.

Dada s1 = "hello" e s2 = "HELLO".lower(), qual o resultado de s1 == s2 e s1 is s2 respectivamente?

a)

True, True

b)

False, False

c)

True, False

d)

False, True

19.

Qual dos seguintes cenários pode levar a um comportamento inesperado ao usar is em vez de == para comparar strings?

a)

Comparar strings literais que são exatamente iguais.

b)

Comparar strings longas ou strings resultantes de operações de concatenação/formatação.

c)

Comparar strings que contêm apenas números.

d)

Comparar strings em versões antigas do Python.

20.

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?

a)

True

b)

False

c)

Erro de índice