Anonfunc 모듈 발표

1달 전쯤에 있었던 python-dev에서 토론 중에 나왔던 바로 그 연산자를 받으면 전부 함수로 만들어버리는 걸 그냥 모듈로 한번 만들어 봤습니다. :) 사실은 operator모듈에 넣고 싶었지만, 선행 연산자에 변수가 있으면 발생하는 모호성이나 체이닝 콜 같은 게 너무 심각해서 표준에 넣었다가는 돌맞을 것 같아서 으흐~;;

[FreshPorts]devel/py-anonfunc 에서 Sources 클릭하면 타볼을 받을 수 있습니다.

간단하게 사용법은 설치하고 파이썬을 띄우면 빌트인에 X, Y, Z, anonfunc가 들어가 있는데, X는 첫번째 인자, Y는 두번째 인자, Z는 세번째 인자, anonfunc는 얘네들의 클래스입니다.

9 thoughts on “Anonfunc 모듈 발표”

  1. import X
    x=X.X()
    ff=X.functionify

    def identity(x):
      return x
    y=x(30)+1
    f=ff(y)
    assert 30+1==f(identity)

    x=X(‘x’)
    y=X(‘y’)
    z=X(‘z’)
    f=ff(x+y+z)
    assert -1+2+4==f(x=-1,y=2,z=4)

  2. 아아. 명시적으로 함수화를 해 주는 방법인가요..
    그런데, 아무래도 이 방법이 lambda 치기가 귀찮아서 쓰는 방법이다보니 좀 더 복잡해지면 아무래도 원래 목적을 잃어버릴 것 같기도 하구요.. 크흐 🙂

  3. lambda 치기가 귀찮아서 쓸 수도 있고, early evaluation용으로 만들어진 함수들을 lazy evaluation 용으로 쓸 수도 있겠죠.

  4. 그렇다고는 하지만 온전하게 LE가 지원되지 못하니 아주 제한된 사용만 가능하겠죠.

Comments are closed.