38 lines
996 B
Python
38 lines
996 B
Python
import sympy
|
|
|
|
class ClassBase:
|
|
"""Clase base para todas las clases del sistema"""
|
|
|
|
def __init__(self, value, original_str=""):
|
|
self._value = value
|
|
self._original_str = original_str
|
|
|
|
@property
|
|
def value(self):
|
|
return self._value
|
|
|
|
@property
|
|
def original_str(self):
|
|
return self._original_str
|
|
|
|
# Sistema de ayuda y autocompletado
|
|
@staticmethod
|
|
def Helper(input_str):
|
|
"""Override en subclases"""
|
|
return None
|
|
|
|
@staticmethod
|
|
def PopupFunctionList():
|
|
"""Override en subclases"""
|
|
return []
|
|
|
|
# Métodos básicos comunes
|
|
def __str__(self):
|
|
return str(self._value)
|
|
|
|
def __repr__(self):
|
|
return f"{self.__class__.__name__}('{self._original_str}')"
|
|
|
|
# Necesitaremos importar sympy en los archivos que usen SympyClassBase.
|
|
# sympy.sympify también se menciona.
|
|
# from sympy import sympify (si es necesario globalmente aquí o en las clases hijas) |