Constructores de pitón

Constructores de pitón

Introducción

Por ahora, debería estar familiarizado con la forma en que funcionan las clases básicas en Python. Si las clases fueran justo lo que has visto, serían bastante rígidos y no tan útiles.

Afortunadamente, las clases son mucho más que eso. Están diseñados para ser mucho más adaptables y pueden tomar información para dar forma a la forma en que se ven inicialmente. No todos los autos comienzan exactamente igual, y tampoco deberían las clases. Después de todo, qué horrible sería si cada automóvil fuera un Ford Pinto de Naranja 71? Esa no es una buena situación.

Escribir una clase

Comience configurando una clase como la de la última guía. Esta clase evolucionará en el transcurso de esta guía. Pasará de ser una situación rígida, similar a una fotocopia, a una plantilla que puede generar múltiples objetos únicos dentro del esquema de la clase.

Escribe la primera línea de la clase, definiéndola como una clase y nombrándola. Esta guía se quedará con la analogía del automóvil de antes. No olvides pasar tu clase objeto para que extienda la base objeto clase.

Class Car (objeto): 

Debajo de eso, envíe y cree sus variables. Por lo general, las variables de clase se agrupan cerca de la parte superior de la clase y los métodos se mantienen a continuación. No es estrictamente obligatorio, pero ayuda mantener el código ordenado. Solo cree variables para hacer, modelo, año, kilometraje y color. No tiene sentido construir una clase súper detallada.

make = "Ford" Model = "Pinto" Year = "1971" Kilometraage = "253812" Color = "Naranja" 

En este punto, puede probar sus variables para asegurarse de que su clase funcione correctamente. Crear y objetar, e intente imprimir el modelo de su automóvil. Luego, reasigne la variable del modelo e imprima nuevamente.

mycar = car () imprime ("mi auto es un % s" % mycar.modelo) mycar.modelo = "imprime" mustang "(" mi auto es un % s " % mycar.modelo) 

Esa es una actualización, pero tu auto todavía no puede hacer nada. Es hora de agregar un método. Cree un nuevo método en su clase llamado Move_Forward que acepta una variable llamada "Velocidad."Entonces, haz que imprima el modelo de tu automóvil y qué tan rápido va. No olvides incluir ser.

Def Move_Forward (self, velocidad): imprime ("Su %s está avanzando en %s" %(self.modelo, velocidad)) 

Prueba eso con tu clase.

mi coche.Move_Forward ("25 mph") 

Todo debería ir bien y tu auto debería estar funcionando.

Creando un constructor

Cambiar variables después de que se crea un objeto es torpe e ineficiente. No solo pierde el tiempo, sino que también se enciende su código. Esto es especialmente cierto si está creando múltiples instancias de la misma clase y alterando cada uno.

Hay un concepto en la programación orientada a objetos llamado constructor. Los constructores son métodos especiales que permiten que un objeto tome argumentos cuando se crea y realice acciones automáticamente. Por lo general, se usan para asignar variables en el momento en que se instancia un objeto.

En el caso de Python, crea un constructor como lo haría con cualquier otro método, utilizando enchufe, Pero cada constructor tiene el mismo nombre, __en eso__. Tu puedes pensar en __en eso__ como corto para inicializar porque se ejecuta cuando se inicializa el objeto.

Cree un constructor para su automóvil que reciba todas las variables como parámetros y las asigna a las variables de instancia con ser. Una variable de instancia es solo una variable que existe en una instancia específica de un objeto.

Def __init __ (self, make, modelo, año, kilometraje, color): yo.hacer = hacerse yo.modelo = modelo yo.año = año yo.kilometraje = kilometraje.color = color 

Asegúrese de eliminar las antiguas declaraciones variables. Ya no los necesitas.

Usando el constructor

Ejecute su código nuevamente y vea qué pasa. Si tienes un error, lo estás haciendo bien. Ahora, cada vez que creas una instancia de Auto(), Debe aprobarlo suficientes argumentos para que coincidan con los parámetros que especificó.

Regrese y modifique la instanciación del mi coche para pasarlo los argumentos requeridos.

mycar = car ('Dodge', 'Challenger', '2017', 1500, 'negro')

Ejecute su código nuevamente. Todo debería funcionar, y deberías tener un auto diferente en funcionamiento.

Como ya viste, este no es el sistema perfecto. ¿Qué pasa si todavía desea una plantilla predeterminada, por lo que no tiene que pasar en cada argumento?? Tú también puedes hacerlo absolutamente. Solo tiene que establecer cada parámetro en su constructor igual al valor que desea ser su valor predeterminado.

def __init __ (self, make = 'ford', model = 'Pinto', año = '1971', kilometrae = '253812', color = 'naranja'): self.hacer = hacerse yo.modelo = modelo yo.año = año yo.kilometraje = kilometraje.color = color 

Si crea una nueva instancia de Auto() Y no lo pases nada, volverá a crear tu buen viejo Ford Pinto. Intente compararlos uno al lado del otro para ver la diferencia.

mycar = car () mynewcar = car ('Dodge', 'Challenger', '2017', 1500, 'negro') mycar.Move_forward ('25mph') mynewcar.Move_Forward ('85 mph') 

Pensamientos de cierre

Se apestaría si cada automóvil fuera un Ford Pinto de 71 '. Es lo mismo para los objetos. Si tuviera que crear una nueva clase como plantilla para cada variación de un objeto, realmente no habría ningún valor en la programación orientada a objetos. Los constructores permiten que las clases sean mucho más fluidas y adaptables. Puede crear tantas instancias nuevas diferentes de un objeto como lo necesite de la misma clase sin tener que regresar y cambiar nada.

Practica hacer una nueva clase y agregar un constructor, luego usar esa clase un poco en tu script.

Ejercicios

  1. Crear una nueva clase llamada "computadora."
  2. Cree un constructor para "computadora" que tome cuatro variables.
  3. Imprima una de sus variables. Reasignar su valor e imprima nuevamente.
  4. Hacer un método que use al menos dos de sus variables.
  5. Implementar un constructor para "computadora" que acepte todas sus variables.
  6. Cree una nueva instancia de "computadora" y pase los argumentos correctos.
  7. Ejecute su método en la nueva instancia de "Computadora."
  8. Agregar valores predeterminados al constructor "computadora".
  9. Crear una instancia vacía de "computadora."
  10. Ejecute su método en la nueva instancia vacía.

Tutoriales de Linux relacionados:

  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Mastering Bash Script Loops
  • Sistema colgado de Linux? Cómo escapar a la línea de comando y ..
  • Bucles anidados en guiones Bash
  • Ubuntu 20.04 Guía
  • Tutorial de depuración de GDB para principiantes
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..