명명된 튜플은 명명된 속성을 제공하여 튜플의 유용성을 향상시키는 가볍고 생성하기 쉬운 객체 유형입니다. 사용법과 일반 튜플과의 비교를 살펴보겠습니다.
명명된 튜플을 생성하려면 collections.namedtuple 팩토리 함수를 사용합니다. 예를 들어, 포인트에 대해 명명된 튜플을 정의하려면:
from collections import namedtuple Point = namedtuple('Point', 'x y')
이 명명된 튜플의 인스턴스는 일반 튜플처럼 생성될 수 있습니다:
pt1 = Point(1.0, 5.0) pt2 = Point(2.5, 1.5)
다음과 같은 경우 명명된 튜플 사용의 이점이 분명해집니다. 속성 참조:
line_length = sqrt((pt1.x - pt2.x)**2 + (pt1.y - pt2.y)**2) # Object-like syntax
네임드 튜플을 권장합니다 when:
이름이 지정된 튜플은 불변 클래스를 필드만으로 대체할 수도 있습니다. 또한 사용자 정의 명명된 튜플에 대한 기본 클래스 역할을 할 수도 있습니다:
class Point(namedtuple('Point', 'x y')): [...] # Define additional methods
Python에는 "명명된 목록"에 해당하는 내장 클래스가 없습니다. 그러나 변경 가능한 레코드 유형의 경우 속성에 새 값을 설정할 수 있는 레시피나 타사 모듈이 있습니다.
from rcdtype import recordtype Point = recordtype('Point', 'x y') pt1 = Point(1.0, 5.0) pt1.x = 2.0 # Mutable!
명명된 튜플은 pt1._asdict()를 사용하여 사전처럼 조작할 수 있으므로 다음에 쉽게 액세스할 수 있습니다. 필드 및 사전 작업과의 호환성을 보장합니다.
명명된 튜플은 다음 작업에서 강력한 도구입니다. Python은 데이터를 표현하는 깔끔하고 직관적인 방법을 제공하는 동시에 향상된 가독성, 유형 확인 및 사용자 정의 기능을 제공합니다. 간단한 값 유형으로 작업하든 복잡한 레코드 구조로 작업하든 명명된 튜플은 코드의 효율성과 명확성을 향상시킬 수 있습니다.
위 내용은 Python의 명명된 튜플은 무엇이며 일반 튜플과 어떻게 비교됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!