Estoy empezando un nuevo script en Python3,5 y como soy novato, me surgen dudas sobre como es mejor hacer las cosas.
Hay muchas formas de llegar a un mismo resultado en Python, pero me gustaría saber como es mas "adecuado" hacerlo.
Por ejemplo, estoy empezando un script el cual me averigüe el valor de una resistencia a partir de sus colores (ya se que habrá miles hechos) y se me ocurren varias formas de hacerlo.
La primera es crear una clase resistencia
class Resistencia():
def __init__(self,color1=None,color2=None,color3=None,color4=None,color5=None,color6=None):
self.color1 = color1
self.color2 = color2
self.color3 = color3
self.color4 = color4
self.color5 = color5
self.color6 = color6
Con un método del tipo :
def valor_color(self,color):
if color == "negro":
valor = 0
multiplicador = 1
tolerancia = None
elif color == "marron":
valor = 1
multiplicador = 10
tolerancia = 1
elif color == "rojo":
valor = 2
multiplicador = 10
tolerancia = 2
y un método que calcule el valor total en base a los colores.....
Por otra parte se me ocurre crear una clase color con sus atributos para luego utilizarlos del tipo :
class Color():
def ___init__(self, valor, multiplicador, tolerancia):
self.valor = valor
self.multiplicador = multiplicador
self.tolerancia = tolerancia
y después instanciar varios objetos color con sus valores
negro = Color()
negro.valor = 0
negro.multiplicador = 1
negro.tolerancia = None
marron = Color()
marron.valor = 1
marron.multiplicador = 10
marron.tolerancia = None
Que opináis ? Cual sería mejor forma ? alguna otra sugerencia ?
Espero haberme explicado