import numpy as np from math import pi class F: def __init__(self, a, w): self.a = a self.w = w def value(self, x): return np.exp(-self.a*x) * np.sin(self.w*x) f = F(a=1.0, w=0.1) print(f.value(x=pi)) f.a = 2 print(f.value(x=pi)) """ Terminal> python F.py 0.01335383513703555 0.0005770715401197441 """ """ #Improved version of the class, #with __call__ and __str__ #special methods: class F: def __init__(self, a, w): self.a = a self.w = w def __all__(self, x): return np.exp(-self.a*x) * np.sin(self.w*x) def __str__(self): return f'exp(-{self.a}*x) * sin({self.w}*x)' #usage: f = F(a=1.0, w=0.1) print(f(x=pi)) print(f) """