Cómo definir una clase CryptoModel con Python

Autor: | Última modificación: 28 de julio de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post: ,

Definir una clase CryptoModel con Python es una de las tres tareas que debes cumplir para crear un programa de código que desarrolle una aplicación de escritorio, cuya función será registrar los movimientos y el intercambio de valores entre monedas de países del mundo y criptomonedas. Así pues, si ya conoces el proceso para definir otras clases, estás listo para aprender cómo definir una clase CryptoModel con Python. En este artículo te contamos cómo hacerlo.

Fichero models.py para programa exchange de monedas

Para definir una clase CryptoModel con Python debes tener en cuenta a qué fichero corresponde y de qué manera este mismo módulo jugará con el resto de elementos que se encuentra en un fichero para programar una aplicación que registre el intercambio de valores de criptomonedas y otras monedas del mundo.

El fichero models.py, como mencionamos en el post sobre el desarrollo de este programa de código, se encargara de modelar todos los objetos de la aplicación a ejecutar. Aquí deberán instanciarse los métodos de origen y de destino de las monedas, cuyos valores se intercambiarán en el momento de ejecutar la aplicación de escritorio. De cualquier manera, el fichero models.py es el que tiene las reglas y las acciones de la aplicación, es decir, hace el trabajo que debe ejecutar la aplicación.

Cómo definir una clase CryptoModel con Python

Ahora que sabes en qué fichero se situará la clase CryptoModel, podemos empezar a repasar los tres pasos que se deben cumplir para definir una clase CryptoModel con Python:

Importar la Api Key

Para empezar, deberás importar la Api Key que se utilizará como variable en el desarrollo de la clase de CryptoModel de este fichero. Esta se instancia en otro de los ficheros del programa, porque a través de ella tendrás respuesta a todas las peticiones que realices al servicio o plataforma web desde tu aplicación de escritorio. En este caso, se encuentra en la página de CoinAPI.io.

Definir la clase CryptoModel

Una vez hayas importado la Api Key del fichero de inicialización del programa, deberás crear la clase CryptoModel. Esta clase estará caracterizada por un constructor, donde se pasarán las variables de las dos monedas del programa: la moneda origen y la moneda destino. Estos objetos son necesarios para definir el método que hará la acción objetivo de la aplicación, es decir, el método exchange.

Por otro lado, deberás instanciar la variable del resultado de la transacción como self.cambio.

Definir el método de la clase

🔴 ¿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 semana

Una vez hayas definido la clase CryptoModel con su constructor y sus variables correctamente instanciadas, deberás definir el método de la clase, es decir, el método exchange. Este se encargará de hacer la conversión entre los valores de la moneda de origen y la moneda destino.

Este método deberá tener una impresión que le aparezca el usuario para explicar lo que se realizará con este método. Por tanto, incluirás la oración «Voy a hacer la conversión de». Después, tendrás que adjuntar la cabecera o header de la plataforma web y la URL a formatear con los dos atributos instanciados en la clase.

En este mismo método, también tienes que instanciar el proceso para obtener la respuesta de la API, pues de ahí saldrá el resultado del exchange. Esto lo haremos con el método requests.get.

Por último, deberás ejecutar un apartado de código que presenta unas condiciones. En este apartado, el resultado del exchange deberá buscarse en el rate y dar una impresión con el método JSON. Esto solo pasará si el status es igual a 200; si no es así, deberás levantar una excepción para que no se cierre el programa.

Representación de los pasos para definir una clase CryptoModel con Python

A continuación, te traemos la representación, en forma de código, de los pasos para definir una clase CryptoModel con Python:

#importar la Api Key que está en otro fichero

from criptocambio import APIKEY

#definir clase CryptoModel( ):

class CryptoModel():

def __init__ (self, origen, destino):

self.moneda_origen = origen

self.moneda_destino = destino

self.cambio = 0.0

#definir método

def exchange (self)

print («Voy a hacer la conversión de»,

self.moneda_origen, «a», self.moneda_destino)

cabecera = {

«X – CoinAPI – Key»: APIKEY

}

url = URL.format (orig = self.moneda_origen, dest = self.moneda_destino)

res = requests.get (url, headers = cabecera)

if res.status_code == 200;

self.cambio = res.json( ) [«rate»]

print («El resultado es», self.cambio)

else:

raise APIError (

«Ha ocurrido un error {} al consultar la API».format (res.status_code))

De esta manera, ya sabes cómo definir una clase CryptoModel con Python y puedes reproducirla en tu editor de texto para programación.

Continua aprendiendo con Python

Si bien ya sabes cómo definir una clase CryptoModel con Python, es necesario que conozcas qué otros ficheros deberán integrarse en este programa de código para su correcto funcionamiento, pues esta clase solo determina la representación o abstracción de los datos.

Si necesitas una guía seguir adentrándote en el mundo de la programación, te recomendamos matricularte en nuestro Aprende a Programar desde Cero Full Stack Jr. Bootcamp. ¡Es la mejor opción para empezar desde cero! ¡Anímate y empieza a programar!

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.