1달 전쯤에 있었던 python-dev에서 토론 중에 나왔던 바로 그 연산자를 받으면 전부 함수로 만들어버리는 걸 그냥 모듈로 한번 만들어 봤습니다. 사실은 operator모듈에 넣고 싶었지만, 선행 연산자에 변수가 있으면 발생하는 모호성이나 체이닝 콜 같은 게 너무 심각해서 표준에 넣었다가는 돌맞을 것 같아서 으흐~;;
devel/py-anonfunc 에서 Sources 클릭하면 타볼을 받을 수 있습니다.
간단하게 사용법은 설치하고 파이썬을 띄우면 빌트인에 X, Y, Z, anonfunc가 들어가 있는데, X는 첫번째 인자, Y는 두번째 인자, Z는 세번째 인자, anonfunc는 얘네들의 클래스입니다.
>>> f = X + Y * Z
>>> f(1, 2, 3)
7
>>> f = divmod(X ** 3 + X ** 2, 5)
>>> f(12)
(374, 2)
>>> f = X[:5] + Y[-5:]
>>> f(range(10), range(20))
[0, 1, 2, 3, 4, 15, 16, 17, 18, 19]
>>> f1 = X ** 3 + 3 * (X ** 2)
>>> f2 = X + Y % X
>>> (f1 * f2)(3, 4)
216
>>> import sys
>>> f = anonfunc('mod').platform
>>> f(mod=sys)
'freebsd5'