함수를 전달할 때 명시적으로 함수를 정의할 필요가 없는 경우도 있습니다. 익명 함수 를 직접 전달하는 것이 더 편리합니다.
Python에서는 익명 함수에 대한 지원이 제한되어 있습니다. 여전히 map() 함수를 예로 들면, f(x)=x2를 계산할 때 f(x) 함수를 정의하는 것 외에도 익명 함수를 직접 전달할 수도 있습니다:
>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) [1, 4, 9, 16, 25, 36, 49, 64, 81]
def f(x): return x * x
>>> f = lambda x: x * x >>> f <function <lambda> at 0x101c6ef28> >>> f(5)25
def build(x, y): return lambda: x * x + y * y
전역 범위에서 블록 수준 범위를 사용하면 익명 함수에 대한 참조가 없기 때문에 클로저가 메모리를 차지하는 문제를 줄일 수 있으며, 함수가 실행되는 한 해당 범위 체인이 즉시 소멸될 수 있습니다.
function box(){ for(var i=0;i<5;i++){ //块级作用域(js无) } var i //即便重新声明,也不会影响之前的值 alert(i);//5 } box();
위 내용은 익명 함수란 무엇입니까? Python 익명 함수의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!