>백엔드 개발 >파이썬 튜토리얼 >Python의 내부 목록 메서드가 없음을 반환하는 이유는 무엇입니까?

Python의 내부 목록 메서드가 없음을 반환하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-28 22:22:16697검색

Why Do Python's In-Place List Methods Return None?

Python의 변경 목록 메서드가 None을 반환하는 이유는 무엇입니까?

추가, 정렬, 확장, 제거, 지우기 및 삭제를 포함한 다양한 Python 목록 메서드 반대로, 목록을 수정한 후 None을 반환합니다. 이러한 디자인 선택은 그 이론적 근거와 잠재적인 단점에 대한 의문을 불러일으켰습니다.

Python의 디자인 원칙에 따르면, 그 자리에서 객체를 변경하는 함수는 None을 반환해야 합니다. 이는 새 개체를 생성하는 것이 아니라 기존 개체에 대해 작업이 수행된다는 점을 강조합니다.

Python의 창시자인 Guido van Rossum은 이러한 결정의 이유를 다음과 같이 설명합니다.

  • Chaining 측면- 코드를 읽기 어렵게 만들 수 있으므로 단일 개체에 대한 효과는 권장되지 않습니다.
  • 반환 문에 None을 사용하면 이러한 메서드가 수정만 수행된다는 점을 명확히 하는 데 도움이 됩니다. 원래 객체를 삭제하고 새로운 값을 생성하지 않습니다.

이 디자인이 목록 처리의 "체인"을 방해한다고 주장하는 사람들도 있지만 Rossum은 이 디자인이 코드 가독성을 높이고 후속 작업이 동일한 개체에 적용됩니다.

그는 이를 문자열 처리 작업과 같이 새로운 값을 반환하는 연결 작업과 대조합니다.

요약하자면 Python의 변경 목록 메서드에서 None을 반환하기로 한 결정은 객체를 내부에서 수정하는 작업과 새 값을 반환하는 작업을 구별하는 설계 원칙에 기반합니다.

위 내용은 Python의 내부 목록 메서드가 없음을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.