배경 : 현재 ipython을위한 라인 매직을 만들고 있습니다. 이 마술은 함수의 반환 값이 변수에 할당되는 행에만 적용됩니다.파이썬에서 라인이 유효한 함수 호출인지 어떻게 확인합니까?
필자는 파이썬에서 유효한 함수 호출 + 할당임을 확인하는 방법을 찾고있다.
예컨대
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
경우이 될 수있는 바와 같이, 나는 그것이 통과 여부를 걱정하지 않는다 다른 단계에서 처리됩니다.
당신은 파서를 작성해야한다. 정규식은 이것을 위해 충분히 강력하지 않습니다. –