您可以推迟执行代码:
In [12]: v = 5
In [13]: e = ' v * 2 '
In [14]: eval(e)
Out[14]: 10
我想对没有将其分配给字符串的普通python代码进行后期评估吗?
有一种技术可以做到这一点吗?关闭?
__call__
吗?另一个例子 :
In [15]: b = bitarray('10110')
In [16]: p = Pipe(lambda x : x * 2 )
In [17]: e = ' b | p '
In [18]: eval(e)
Out[18]: bitarray('1011010110')
我正在尝试构建类似于TensorFlow和keras的执行流图/管道之类的东西,然后传递数据并收集结果...比这还复杂一点,因为该流没有向前推进...
最佳答案
通常的方法是使用一个函数。
def e():
return v * 2
>>> v = 5
>>> e()
10
>>> v = 6
>>> e()
12
我还必须说,我不赞成那些不将其输入作为显式参数的函数。抢占全球就是骗子。