Python에서 람다 이름 지정
Python에서 람다 표현식을 사용하면 익명 함수 정의를 위한 간결한 구문이 제공됩니다. 그러나 일부 개발자는 특히 대규모 함수 내에서 람다 이름을 지정하는 것이 적절한지 여부에 대한 질문에 직면할 수 있습니다.
Python의 코딩 표준인 PEP8에 따르면 람다 이름 지정은 권장되지 않습니다. 그 이유는 람다가 익명을 목적으로 하므로 식에 포함될 수 있다는 것입니다. 람다에 이름을 할당하면 이름이 지정된 함수가 되므로 이 목적이 무용지물이 됩니다.
제공된 예에서 작성자는 numpy 배열에 대해 복잡한 인덱싱을 수행하기 위해 인덱서라는 명명된 람다를 만듭니다. 이 접근 방식은 코드 중복을 줄이지만 이름 지정 측면으로 인해 Python적인 것으로 간주되지 않습니다.
대신 람다에서 제공하는 기능이 바깥쪽 함수 외부에서 필요하지 않은 경우 별도의 함수를 정의하는 것이 좋습니다. 이를 통해 구조가 더욱 명확해지고 가독성이 향상되며 PEP8 지침과 일치합니다.
예:
def fcn_operating_on_arrays(array0, array1): def indexer(a0, a1, idx): return a0[idx] + a1[idx] # Code using `indexer` return the_answer
인덱싱 기능을 명명된 함수로 분리하면 코드는 더욱 모듈화되고 Python 모범 사례를 준수하게 됩니다.
위 내용은 내 Python Lambda에 이름을 지정해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!