-
Python Closurepython/기본 2022. 10. 21. 20:07
코드1
from typing import Callable def sum(x: int, y: int) -> Callable[[], int]: def runner(): out = x + y print(out) return out return runner if __name__ == '__main__': f = sum(1, 2) f()
코드2
functools.partial() 을 이용해 아래처럼 작성할 수 있다.
import functools def sum(x: int, y: int) -> int: out = x + y print(out) return out if __name__ == '__main__': f = functools.partial(sum, 1, 2) f()
설명
scala 의 Closure 와 비교해 보자.
'python > 기본' 카테고리의 다른 글
Match (0) 2024.01.31 Python Enum (0) 2022.10.21 requirements.txt 자동 생성하기 (0) 2022.05.31 datetime / time (0) 2022.05.02 tempfile / subprocess (0) 2022.05.02