def substitute(self, mapping):
return mapping(self)<EOL>
Return expression with variables substituted

        >>> Variable('x').substitute(lambda v: {'x': 567}.get(v.symbol, v))
        567
        >>> Variable('x').substitute(lambda v: {'y': 42}.get(v.symbol, v))
        Variable('x')
        >>> Variable('x').substitute(
        ...     lambda v: {'x': 123, 'y': 56}.get(v.symbol, v))
        123