Python en una cáscara de nuez, 4ª edición
by Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire
Capítulo 4. Python orientado a objetos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Python es un lenguaje de programación orientado a objetos (OO). Sin embargo, a diferencia de otros lenguajes orientados a objetos, Python no te obliga a utilizar exclusivamente el paradigma orientado a objetos: también admite la programación procedimental, con módulos y funciones, para que puedas seleccionar el mejor paradigma para cada parte de tu programa. El paradigma orientado a objetos te ayuda a agrupar el estado (datos) y el comportamiento (código) en prácticos paquetes de funcionalidad. Además, ofrece algunos mecanismos especializados útiles que se tratan en este capítulo, como la herencia y los métodos especiales. El enfoque procedimental más sencillo, basado en módulos y funciones, puede ser más adecuado cuando no necesites las ventajas1 de la programación orientada a objetos. Con Python, puedes mezclar y combinar paradigmas.
Además de los conceptos básicos de OO, este capítulo abarca las clases base abstractas, los decoradores y las metaclases.
Clases e instancias
Si estás familiarizado con la programación orientada a objetos en otros lenguajes OO como C++ o Java, probablemente conozcas bien las clases y las instancias: una clase es un tipo definido por el usuario, que instancias para construir instancias, es decir, objetos de ese tipo. Python soporta esto a través de sus objetos clase e instancia.