반응형
Pylint의 Cell-var-from-loop 경고
다음 코드의 경우:
for sort_key, order in query_data['sort']:
results.sort(key=lambda k: get_from_dot_path(k, sort_key),
reverse=(order == -1))
Pylint가 오류를 보고했습니다.
루프에 정의된 셀 변수 sort_key(cell-var-from-loop)
여기서 무슨 일이 일어나고 있는지 누가 힌트를 줄 수 있습니까?pylint 소스 코드에서 설명은 다음과 같습니다.
폐쇄에 사용되는 변수는 루프에 정의됩니다.그러면 폐쇄 변수에 대해 모든 폐쇄가 동일한 값을 사용하게 됩니다.
하지만 나는 그것이 무엇을 의미하는지 전혀 모릅니다.누가 그 문제의 예를 들어줄 수 있습니까?
그 이름은sort_key
의 몸에.lambda
함수가 실제로 호출될 때 조회되므로 값이 표시됩니다.sort_key
가장 최근에 가졌어요.당신이 전화를 하고 있기 때문에sort
즉시, 의 가치.sort_key
결과 함수 개체를 사용하기 전에는 변경되지 않으므로 경고를 무시해도 됩니다.침묵시키기 위해, 당신은 할 수 있습니다.sort_key
에 대한 매개 변수의 기본값lambda
:
results.sort(key=lambda k, sk=sort_key: get_from_dot_path(k, sk),
reverse=(order == -1))
functools.partial()을 사용합니다.
import functools
results.sort(key=functools.partial(get_from_dot_path, foo=sort_key),
reverse=(order == -1))
언급URL : https://stackoverflow.com/questions/25314547/cell-var-from-loop-warning-from-pylint
반응형
'programing' 카테고리의 다른 글
자바스크립트나 jquery를 사용하여 HTML 페이지를 PDF로 저장할 수 있습니까? (0) | 2023.08.09 |
---|---|
12c jar를 사용하여 Oracle 12c로 Eclipse 데이터 원본을 만들 수 없습니다.그러나 11g은 작동합니다. (0) | 2023.08.09 |
Spring Framework에서 주석을 사용하여 빈 이름을 설정할 수 있습니까? (0) | 2023.08.09 |
Springbean에서 새로운 거래를 시작하고 있습니다. (0) | 2023.08.09 |
NodeJS를 통해 엔드포인트로 Ajax 요청을 작성하는 방법 (0) | 2023.08.09 |