背景:我目前正在为 ipython 创建一个 line-magic。这种魔法只适用于将函数的返回值分配给变量的行。
我正在寻找一种方法来确保一行是python中的有效函数调用+赋值。
例如,应接受以下内容:
a = b()
a,b = c(d,e="f")
a = b(c()+c)
拒绝以下内容:
a = def fun() # no function call
b(a=2) # no assignment
a = b + c # no function call
a = b() + c() # top-level on right-hand-side must be function call
如果该行根本不是有效的python,我不在乎它是否通过,因为这将在另一个阶段处理。