

def print_python(leaves, expr):
    " Print expression to be evaluated in Python\n\n    >>> from blaze.expr import ceil, sin\n\n    >>> t = symbol('t', '{x: int, y: int, z: int, when: datetime}')\n    >>> print_python([t], t.x + t.y)\n    ('t[0] + t[1]', {})\n\n    Supports mathematical and datetime access\n\n    >>> print_python([t], sin(t.x) > ceil(t.y))  # doctest: +SKIP\n    ('math.sin(t[0]) > math.ceil(t[1])', {'math':<module 'math'>})\n    >>> print_python([t], t.when.day + 1)\n    ('t[3].day + 1', {})\n\n    Specify leaves of the expression to control level of printing\n\n    >>> print_python([t.x, t.y], t.x + t.y)\n    ('x + y', {})\n\n    Returns\n    -------\n\n    s: string\n       A evalable string\n    scope: dict\n       A namespace to add to be given to eval\n    "
    if (isinstance(expr, Expr) and any((expr.isidentical(lf) for lf in leaves))):
        return (valid_identifier(expr._name), {
            
        })
    return _print_python(leaves, leaves=leaves)

dataset/ETHPy150Open blaze/blaze/blaze/compute/pyfunc.py print_python/VarMisuse@61/435 `expr`->`leaves`