Calc/class_base.py

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)