Classes and Objects: What Does This Print
What does this print? · Advanced · about 10 min
Read each short program and type exactly what it prints, with each printed line on its own line. If a program stops with an error, type the error's name, like TypeError.
Example
class Cat: legs = 4 print(Cat().legs)
prints
4Program 1
class Dog: def __init__(self, name): self.name = name def speak(self): return self.name + " says woof" d = Dog("Rex") print(d.speak())
Program 2
class Counter: count = 0 a = Counter() b = Counter() a.count = 5 print(a.count, b.count, Counter.count)
Program 3
class Bag: items = [] def add(self, x): self.items.append(x) a, b = Bag(), Bag() a.add(1) print(b.items)
Program 4
class A: def hello(self): return "A" class B(A): def hello(self): return "B+" + super().hello() print(B().hello(), A().hello())
Program 5
class Temp: def __init__(self, c): self.c = c def __str__(self): return f"{self.c} C" def __repr__(self): return f"Temp({self.c})" print(Temp(20), [Temp(5)])
Program 6
class Box: def size(): return 3 print(Box().size())
Program 7
class Square: side = 3 property def area(self): return self.side ** 2 s = Square() s.side = 4 print(s.area)
Program 8
class P: def __init__(self, v): self.v = v a, b = P(1), P(1) print(a == b, a.v == b.v)