**The driver namespace**

Can add functions and properties to the driver namespace

    import bpy

    def func(a, b, c):
        return a * b * c

    m = 9.4443299912

    bpy.app.driver_namespace["f"] = func
    bpy.app.driver_namespace["m"] = m

Then in a driver can use an expression like `f(m, m, m)` Which can be typed directly into a field by preceding with a hash `#` character.

[![enter image description here][1]][1]

EDIT: would like to see a "_sub expression_" driver variable type where you could do this for scalars, or using other defined variables.  Fitting everything into the scripted expression can be a PITA.


  [1]: https://i.sstatic.net/lWzzB.png