class — Intermediate Examples
Defines a new class (blueprint for creating objects)
Inheritance
Creating a subclass that extends a parent class.
python
class Animal: def __init__(self, name): self.name = name def speak(self): return f"{self.name} makes a sound" class Cat(Animal): def speak(self): return f"{self.name} says Meow!" class Dog(Animal): def speak(self): return f"{self.name} says Woof!" animals = [Cat("Whiskers"), Dog("Rex"), Animal("???")] for a in animals: print(speak()) print(f" Is Animal? {isinstance(a, Animal)}")
Subclasses inherit from a parent and can override methods. isinstance() checks the full hierarchy.
Class and instance variables
Understanding shared vs per-instance state.
python
class Student: school = "Python Academy" # class variable (shared) def __init__(self, name): self.name = name # instance variable (per-object) s1 = Student("Alice") s2 = Student("Bob") print(f"{s1.name} at {s1.school}") print(f"{s2.name} at {s2.school}") Student.school = "Code School" print(f"{s1.school}") print(f"{s2.school}") s1.school = "My School" # creates instance variable, shadows class var print(f"{s1.school}") print(f"{s2.school}")
Class variables are shared across all instances. Assigning to self.x creates an instance variable that shadows the class variable.
Want to try these examples interactively?
Open Intermediate Playground