un None que no consigo ver de dónde sale...
Todo está en un mismo archivo
Por cierto, estoy empezando en este lenguaje por lo tanto tal vez ignore alguna práctica que sea más recomendable...
La clase es la siguiente y abajo el main.
Código
class Producto: contador_productos = 0 def __init__(self,nombre: str, precio: float): self._id = Producto._generar_id() self._nombre = nombre self._precio = self._verificar_precio(precio) @staticmethod def _generar_id(): Producto.contador_productos += 1 return Producto.contador_productos def obtener_id(self): return self._id def obtener_nombre(self): return self._nombre def obtener_precio(self): return self._precio def _verificar_precio(self,precio): if precio > 0: return precio else: return -1 def imprimir_producto(self): print(f'{self._id}, {self._nombre}, {self._precio}')
Código
def main(): a = Producto("Mouse",1700) b = Producto("Teclado",8000) c = Producto("Monitor",15000) print(a.obtener_id(), a.obtener_nombre(), a.obtener_precio()) print(b.obtener_id(), b.obtener_nombre(), b.obtener_precio()) print(c.obtener_id(), c.obtener_nombre(), c.obtener_precio()) print(a.imprimir_producto()) print(b.imprimir_producto()) print(c.imprimir_producto()) if __name__ == '__main__': main()
salida:
1 Mouse 1700
2 Teclado 8000
3 Monitor 15000
1, Mouse, 1700
None
2, Teclado, 8000
None
3, Monitor, 15000
None