뭔지는 모르는데 이런게 있는지 궁금합니다. 이미 정의된 함수에 추가적으로 변수를 추가하기.
조회수 417회
from shapely.geometry import Point
def somefunc(lst):
return [Point(x) for x in lst]
if __name__ == "__main__":
xy = [(x, x) for x in range(1, 10)]
print(somefunc(xy))
이 상태에서 somefunc에 count변수를 추가할 일이 있어서,
def somefunc(lst, count=False):
zz = [Point(x) for x in lst]
if count:
return [(id,x) for x in enumerate(zz)]
return zz
이렇게 바꾸긴 했는데요.
somefunc를 건드리지 않고 count를 지원하는 방법이 있을까요?
감사합니다.
-
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
아래 참고하세요.
import functools def insert_count(count): def decorator(func): @functools.wraps(func) def _wrap(*args, **kwargs): zz = func(*args, **kwargs) if count: return [(id,x) for x in enumerate(zz)] return zz return _wrap return decorator from shapely.geometry import Point @insert_count(True) def somefunc(lst): return [Point(x) for x in lst] result = somefunc(zip(range(1, 11), range(1, 11)))
댓글 입력