Definir una clase CryptoController con Python es otra de las labores que deberás cumplir cuando estés realizando un programa para registrar los valores de intercambios de monedas del mercado mundial y criptomonedas como el Bitcoin. Este es un ejercicio práctico de CoinAPI.io que hemos estado realizando en los artículos de KeepCoding, por lo que, si te interesa el tema, no dudes en revisarlos.
Por ahora, nos centraremos en el proceso para definir una clase CryptoController con Python.
Fichero controller.py para programa exchange de monedas
El fichero controller.py se encarga de controlar y coordinar cada una de las acciones que realizan el resto de ficheros y objetos del programa de código. Se tomarán en cuenta los objetos que se instancien en las clases de view y model.
Si quieres saber más acerca de cómo funciona la programación de una aplicación de escritorio que registra el exchange de monedas, puedes aprender sobre ello en nuestro artículo acerca de cómo funciona el desarrollo de la app.
Cómo definir una clase CryptoController con Python
Importar ficheros
Como la clase Crypto Controller se encarga de controlar y enlazar los demás ficheros del programa para registrar los intercambios de valor de las monedas, tienes que importarlos al fichero del controlador. Esto lo haces con la función from import.
Definir clase CryptoController
Para empezar a definir la clase CryptoController debes instanciar la vista y el modelo del programa como objetos de la misma clase, es decir, self.vista y self.modelo. Después de haber establecido el constructor de la clase, podrás añadir la cantidad de métodos que requieras.
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaEn un prinicipio, vamos a definir un método que funcione como un bucle, al que llamaremos vamos_alla. Aquí tendremos que pedirle al fichero vista la acción de pedir las monedas y el método de exchange que se estableció en otro fichero. Para salir, presentaremos un input.
Definir clase CryptoController con la librería Tk
Una vez definida la clase, tendrás que crear una herencia de ella con la librería Tk con el método super para crear esta clase como una ventana, que deberá tener un título. También una instancia de la clase vista y la clase modelo.
Así como en la anterior definición, deberás agregar métodos que sean capaces de ejecutar las acciones del modelo. Este será el método calcular cambio con las variables de obtener moneda origen y destino, así como el resultado.
Representación de los pasos para definir una clase CryptoController con Python
A continuación, te traemos una representación en forma de código de los pasos para definir una clase CryptoController con Python:
#importar el resto de ficheros
from criptocambio.models import CryptoModel
from criptocambio.views import CryptoView
#definir clase CryptoController
def __init__ (self)
#instancia vista y modelo
self.vista = CryptoView( )
self.modelo = CryptoModel( )
#definir método
def vamos_alla (self):
salir = “n”
while salir != ‘n’:
desde, hasta = self.vista.pedir_monedas( )
self.modelo.moneda_origen = desde
self.modelo.moneda_destino = hasta
self.modelo.exchange( )
#vista, mostrar resultado
self.vista.mostrar (desde, hasta, self.modelo.cambio)
salir = input (“¿Quieres cambiar algo más? (s / n): “).lower()
#definir clase CryptoController con librería TK
class CryptoControllerTk (Tk):
def __init__ (self):
super() .__init__()
self.title = “Calcula cambio de divisas”
#instancia vista y modelo
self.vista = CryptoViewTk (self, self.calcular_cambio)
self.modelo = CryptoModel( )
def vamos_alla (self):
self.mainloop()
def calcular_cambio (self):
self.modelo.moneda_origen = self.vista.moneda_origen( )
self.modelo.moneda_destino = self.vista.moneda_destino( )
self.modelo.exchange( )
self.vista.mostrar_valor (self.modelo.valor)
De esta manera, ya conoces el proceso para definir una clase CryptoController con Python y puedes reproducirla en tu problema de código.
Aprende más sobre Python
Si bien ya sabes cómo definir una clase CryptoController con Python, hay muchas más herramientas que deberías conocer para trabajar con APIs y con plataformas o servicios de la web, por eso creemos que es tan importante que te adentres en el mundo del aprendizaje.
Una gran forma de hacerlo es matricularte en nuestro Aprende a Programar desde Cero Full Stack Jr. Bootcamp, ya que es una formación intensiva que se fundamenta en la bases del código para explicar programas mucho más complejos. ¡Anímate y conviértete en un programador profesional!