Python/Su primer programa en Python/¿Qué es un objeto?
Todo en Python es un objeto, y casi todo tiene atributos y métodos. Todas las funciones tienen un atributo __doc__ que devuelve la cadena de documentación definida en su código fuente. El módulo sys es un objeto que contiene (entre otras cosas) un atributo llamado path. Y así con todo.
Aún así, la pregunta sigue sin contestar. ¿Qué es un objeto? Los diferentes lenguajes de programación definen "objeto" de maneras diferentes. En algunos significa que todos los objetos deben tener atributos y métodos; en otros esto significa que todos los objetos pueden tener subclases. En Python la definición es más amplia: algunos objetos no tienen ni atributos ni métodos (más sobre esto en el Capítulo 3), y no todos los objetos pueden tener subclases (más al respecto en el Capítulo 5). Pero todo es un objeto en el sentido de que se puede asignar a una variable o ser pasado como argumento a una función (más sobre en el Capítulo 4).
Esto es tan importante que voy a repetirlo en caso de que se lo haya perdido las últimas veces: todo en Python es un objeto. Las cadenas son objetos. Las listas son objetos. Las funciones son objetos. Incluso los módulos son objetos.
Lecturas complementarias sobre objetos
- La Referencia del lenguaje Python explica exactamente lo que quiere decir que todo en Python es un objeto, porque algunas personas son pedantes y les gusta discutir este tipo de cosas hasta la muerte.
- eff-bot hace un resumen sobre los objetos en Python.