Python에서 Lambda의 이름을 지정해야 합니까?
Lambda 표현식은 Python에서 익명 함수를 정의하는 간결하고 편리한 방법을 제공합니다. 그러나 코드 재사용 및 특정 기능을 위해 함수 내에서 람다에 이름을 할당하고 싶은 유혹이 있는 경우가 많습니다.
람다 이름 지정에 대한 비판
이 방법이 편리해 보일 수 있지만 일반적으로 Python이 아닌 것으로 간주되며 PEP8의 권장 사항에 어긋납니다. PEP8에서는 다음과 같이 설명합니다.
"람다 표현식을 식별자에 직접 바인딩하는 할당 문 대신 항상 def 문을 사용하세요."
이 권장 사항의 근거는 람다를 함수:
예
질문에 제공된 예제 함수를 고려하세요.
def fcn_operating_on_arrays(array0, array1): indexer = lambda a0, a1, idx: a0[idx] + a1[idx] # ... indexed = indexer(array0, array1, indices) # ...
람다라는 이름을 사용하는 경우 별도의 명시적인 이름을 정의하는 것이 더 파이썬적입니다. 함수:
def index_array(a0, a1, idx): return a0[idx] + a1[idx] def fcn_operating_on_arrays(array0, array1): # ... indexed = index_array(array0, array1, indices) # ...
결론
람다에 이름을 할당하는 것이 특정 상황에서는 유용해 보일 수 있지만 권장되지는 않습니다. 대신 명확성, 가독성 및 모범 사례 준수를 유지하기 위해 명시적 함수 정의를 사용하는 Python 원칙을 따르세요.
위 내용은 이름을 지정하거나 지정하지 않으려면: Python에서 언제 람다에 이름을 할당해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!