In [1]:
def y(x, a, b, c):
    """y = a * x**2 + b * x + c"""
    return a * x**2 + b * x + c

def dy(x, a, b):
    return 2 * a * x + b

def y_extr(a, b):
    return -b / 2 / a

In [3]:
a = 1
b = 2
c = 3
print(y(1, a, b, c))
print(dy(1, a, b))
print(y_extr(a, b))


6
4
-1.0

In [13]:
class Parabola:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
    
    @property
    def y_extr(self):
        return -self.b / 2 / self.a
    
    def y(self, x):
        return self.a * x**2 + self.b * x + self.c

p = Parabola(1, 2, 3)
p.a = 3
print(p.y_extr)
p.b = 100
print(p.y_extr)


-0.3333333333333333
-16.666666666666668

In [ ]: