En Python, todos los tipos son objetos. Pero no en todos los lenguajes de programación es así. En general, podemos decir que un objeto es una forma ordenada de agrupar datos (los atributos) y operaciones a utilizar sobre esos datos (los métodos).
Es importante notar que cuando decimos objetos podemos estar haciendo referencia a dos cosas parecidas, pero distintas.
Por un lado, la definición del tipo, donde se indican cuáles son los atributos y métodos que van a tener todas las variables que sean de ese tipo. Esta definición se llama específicamente, la clase del objeto.
A partir de una clase es posible crear distintas variables que son de ese tipo. A las variables que son de una clase en particular, se las llama instancia de esa clase.
Nota Se dice que los objetos tienen estado y comportamiento, ya que los valores que tengan los atributos de una instancia determinan el estado actual de esa instancia, y los métodos definidos en una clase determinan cómo se va a comportar ese objeto.