Variables, Types & Dynamic Typing
Python is dynamically typed: a name can refer to different object types over its lifetime, while each object still has a concrete type at runtime. Understanding reference semantics prevents subtle bugs with mutability and shared state.