Una guía para principiantes de la programación orientada a objetos de Python

Una guía para principiantes de la programación orientada a objetos de Python

Python se usa en todo, desde Raspberry Pi hasta aprendizaje automático. Sin embargo, si desea trabajar en cualquier proyecto grande, necesitará saber cómo funciona Python con la programación orientada a objetos (OOP). Este artículo cubrirá los conceptos básicos que necesita saber.





Si no te gusta la programación, ¿por qué no echas un vistazo a estos mejores bocetos de Monty Python? ¡Ellos inspiraron el idioma, después de todo!





Espera, ¿Python no es un lenguaje real?

Dejemos una cosa clara: Python ES un lenguaje de programación real, es popular y está creciendo rápidamente. Solo porque se lee como pseudocódigo y puedes codifica Minecraft en el Pi con él , eso no significa que deba descartarlo como un idioma menor.





OOP es la piedra angular del desarrollo de software moderno, y Python es más que capaz de mantenerse al día. Puede hacer una o dos cosas de manera diferente a otros lenguajes convencionales, pero no dejes que eso te desanime.

Este tutorial asumirá un conocimiento básico de Python, pero cubriremos todas las cosas complejas en el camino. Si es nuevo en Python, ¿por qué no mirar estos trucos para aprender un nuevo lenguaje de programación, o qué tal un proyecto simple como leer y escribir en Google Sheets con Python?



Configuración y requisitos previos de Python

Antes de comenzar, es posible que desee configurar su entorno de desarrollo de Python. Estaremos usando Python 3.6.5 , y aunque puede usar versiones anteriores, tendrá menos problemas para seguir si está usando una versión bastante nueva.

Querrá crear un entorno virtual si aún no tiene uno, y instalar PIP para Python si no está instalado (aunque viene con la mayoría de las instalaciones modernas de Python). Una vez que tenga esa configuración, estará listo para comenzar. ¡Empecemos!





Los fundamentos de Python: clases

A clase es el componente básico de la programación orientada a objetos. Una clase es como un plan o un anteproyecto. Definen características de un objeto. Si tiene una clase de automóvil, por ejemplo, puede indicar que hay cuatro ruedas, al menos un asiento y un motor.

A continuación, se explica cómo crear una clase en Python:





|_+_|

Simple ¿verdad? Aquí están sucediendo algunas cosas. Observe el comentario en la parte superior de la clase. Este es un comentario especial llamado docstring . Debería explicar un poco sobre su código. Usando las comillas triples ( ''' ), le está diciendo a Python que se trata de una cadena de documentación.

los aprobar La palabra clave le dice a Python que no haga nada. Es una palabra especial y puedes pensar en ella como una tarea. Hará que su código se ejecute, pero en realidad no hace nada.

Si ejecuta este código, verá que no pasa nada. Necesitas instanciar tu clase. Esto significa efectivamente ir y construir un objeto basado en el plan definido en la clase. Puede crear tantas copias como desee, cada una con diferentes propiedades. Así es como lo haces:

|_+_|

Si ejecuta esto de nuevo, verá que no pasa nada. El código funciona correctamente, pero no le ha dicho que haga nada notable. los Vehículo La clase define planos para un vehículo, y esta última línea crea un objeto de vehículo y le da un nombre de carro rojo .

Es posible hacer tantos objetos como desee:

|_+_|

Agreguemos más código. Agrega un método llamado __en eso__ al Vehículo clase:

|_+_|

Preste especial atención a esto __en eso__ método. Debe comenzar y terminar con dos guiones bajos. Este es un método especial en Python. Se llama automáticamente cuando crea un nuevo objeto. Al ejecutar este código, se mostrarán las palabras '¡Coche nuevo fabricado!' tres veces.

Finalmente, __en eso__ toma un argumento personalizado llamado color . El signo igual y la cadena que siguen inmediatamente le dicen a Python que establezca el color en 'plano' si no se especifica. Puede modificar sus instancias para configurar el color de su automóvil en la creación:

|_+_|

Si imprime el color del automóvil, verá que cada instancia tiene un color diferente, aunque los tres se hicieron con la misma especificación (la clase). Python le permite acceder a casi cualquier variable u objeto; no muchos otros lenguajes le permiten hacer esto:

|_+_|

Esto funciona porque asignaste color para self.color . Self es otra palabra clave especial en Python y se refiere a cada instancia específica de una clase. Siempre que use self, puede configurar o acceder a datos únicos para esa instancia. El coche rojo tiene un color rojo, por ejemplo.

Modifica tu __en eso__ método para almacenar el ruido del coche en una variable:

|_+_|

Para imprimir el ruido del coche, basta con acceder al ruido variable, como hiciste con el color, pero esta no es la mejor idea. ¿Qué pasa si, cuando conduce un automóvil, desea que se ejecute algún otro código al mismo tiempo, tal vez código que aún no ha escrito? ¿O qué pasa si desea cambiar la forma en que se conduce un automóvil en el futuro? Creando un función (también conocido como método ), puede controlar estrictamente cómo funcionan las cosas. Agregue esto debajo de su __en eso__ método:

|_+_|

Puede llamar a este método de manera bastante simple:

|_+_|

Siempre que llame al conducir método, Python imprimirá el sonido. Puede expandir esto para realizar todas las tareas señoriales, pero déjelo como está por ahora.

¡Bien hecho! A estas alturas, debería tener un control firme de los conceptos básicos. Debería poder crear y usar sus propias clases, cada una con sus propias habilidades y funciones únicas.

¿Qué pasa con las variables privadas en Python?

Los objetos privados son muy comunes en la mayoría de los otros idiomas. Son simplemente variables o funciones a las que no se puede acceder fuera de la clase. Pueden ser códigos que requieran el cumplimiento de condiciones especiales antes de su uso, o simplemente diseñados para uso interno únicamente. Cualquiera sea el motivo, las instancias no pueden acceder a miembros privados ... a menos que esté codificando en Python.

Python no tiene miembros privados. En cambio, Python se basa en un sistema de honor: 'Todos somos adultos que consienten'. Los programadores de Python entienden que es posible que desee jugar con los aspectos internos sensibles de una clase, y eso está bien, por lo que nada debería ser realmente inaccesible.

Sin embargo, Python tiene una convención aceptada para marcar ciertas variables como 'privadas' en el sentido de 'Esta variable es para uso interno y probablemente no necesite tocarla'. La convención es prefijar los nombres de las variables con un guión bajo:

|_+_|

Esto actúa como una advertencia para otros programadores. Python no le impedirá acceder a esto, pero el guión bajo le advierte que esto no fue diseñado para usarse de esta manera, y debe continuar bajo su propio riesgo.

A veces es la forma de Python de jugar con cosas ocultas, pero corre el riesgo de que las cosas no funcionen correctamente.

Comprender la herencia en Python

La herencia es otra forma de reducir la duplicación y reutilizar el código. Pensando en una relación entre padres e hijos, la herencia permite niño para compartir código común con el padre . Implementemos un coche eléctrico, que hereda del padre.

Agregue este código debajo de su Vehículo clase:

|_+_|

Después de la ElectricCar está definido, el Vehículo La clase se especifica dentro de dos corchetes. Esto le dice a Python que ElectricCar es un hijo de Vehículo . Esto le da acceso a todos los datos y métodos proporcionados en Vehículo .

El coche eléctrico tiene sus propios métodos especiales. Puede cargar (algo que otros vehículos no pueden hacer). Al cambiar el ruido del automóvil y luego conducir, puede ver que el automóvil eléctrico emite un sonido diferente y no tuvo que definir el método de conducción. Esto se debe a que la unidad se hereda del padre.

Expanda aún más su conocimiento de Python

Estos ejemplos han demostrado lo fácil que puede ser la programación orientada a objetos en Python. Solo hemos cubierto los conceptos básicos, pero una vez que los haya comprendido, el resto es fácil.

cuántos datos utiliza la transmisión

Si está buscando seguir aprendiendo Python, o quizás poner en práctica estas habilidades de programación orientada a objetos, ¿por qué no echar un vistazo a matrices y listas en Python , o ¿qué hay de hacer que Python y JavaScript se comuniquen?

Si todo esto te ha dejado con ganas de más, no olvides visitar estos mejores sitios web para aprender Python.

Cuota Cuota Pío Correo electrónico Elimine estos archivos y carpetas de Windows para liberar espacio en disco

¿Necesita liberar espacio en el disco de su computadora con Windows? Estos son los archivos y carpetas de Windows que se pueden eliminar de forma segura para liberar espacio en el disco.

Leer siguiente
Temas relacionados
  • Programación
  • Programación
  • Pitón
  • Programación orientada a objetos
Sobre el Autor Joe Coburn(136 Artículos publicados)

Joe es licenciado en Ciencias de la Computación por la Universidad de Lincoln, Reino Unido. Es un desarrollador de software profesional, y cuando no está volando drones o escribiendo música, a menudo se le puede encontrar tomando fotos o produciendo videos.

Más de Joe Coburn

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse