What will this output?
a = {1, 2, 3}
b = {3, 4}
print(a ^ b)Read the full question →Every question is hand-checked, every answer comes with an explanation, and your progress builds into a clear picture of where you stand.
Every Python question shows its code before you answer, so you are reading real Python, not a description of it.
Once you attempt a question you get the reasoning, not just a tick. That matters most on Python, where mutable default arguments, the difference between shallow and deep copies, generator laziness, decorator ordering, and how the mro resolves multiple inheritance.
Progress is tracked per topic across the 52 Python topics, so revision points at the gaps instead of the whole list.
570 Python questions right now: 115 easy, 211 medium and 244 hard. That number is read straight from the question table when this page is built, so it is never a rounded marketing figure.
No. Every Python question, including its code snippet, its difficulty and its topic, is readable without signing in. You need a free account only to submit an answer, see which option is correct, and read the worked explanation. We keep it that way so the platform stays honest about what you actually got right.
Mutable default arguments, the difference between shallow and deep copies, generator laziness, decorator ordering, and how the MRO resolves multiple inheritance.
52 distinct topics are tagged on the Python questions, including int float bool str, list ops and slicing, string methods strip split join, data model dunder dispatch, type hints Optional Union, identity vs equality. The topic labels come from the questions themselves, so the list matches what you will actually be asked.
Yes. Reading is free and unlimited. A free account unlocks answering, explanations and progress tracking. Pro (₹199 per month) adds AI explanations and AI-graded guesstimates on top; it is not needed to practise Python MCQs.
Backend, data engineering, machine learning, automation, and almost every infrastructure team's glue code.
These are 12 of the 570 Python questions in the library, pulled live from the question table. The snippet, the difficulty and the topic are all here. The answer options and the explanation are not. Those need a free account.
Mutable default arguments, the difference between shallow and deep copies, generator laziness, decorator ordering, and how the MRO resolves multiple inheritance.
a = {1, 2, 3}
b = {3, 4}
print(a ^ b)Read the full question →x = [i**2 for i in range(3)]
print(x)Read the full question →from enum import Enum, auto
class Color(Enum):
RED = auto()
BLUE = auto()
print(Color.RED.value, Color.BLUE.value)Read the full question →a = 256
b = 256
c = 257
d = 257
print(a is b, c is d)Read the full question →print(True + True + False)Read the full question →def deco(f):
def wrapper():
return "Decorated " + f()
return wrapper
@deco
def say():
return "Hello"
print(say())Read the full question →print(any([]), all([]))Read the full question →class A:
def hello(self):
return "A"
class B(A):
def hello(self):
return super().hello() + "B"
print(B().hello())Read the full question →print(type(range(5)))Read the full question →print(None == 0, None is 0)Read the full question →def f():
print("f called")
return True
print(False and f())Read the full question →class A:
val = []
a1 = A()
a2 = A()
a1.val.append(1)
print(a2.val)Read the full question →We keep the correct answer, the explanation and the scoring behind sign-in so the platform stays honest, which is why the correct option and the worked explanation for every Python question stay behind a free account. Signing in is free and takes a few seconds.
Backend, data engineering, machine learning, automation, and almost every infrastructure team's glue code.