PYTHON · 기초 문법
네임드튜플
namedtuple로 필드명이 있는 불변 튜플을 만들어 코드 가독성을 높입니다.
기초 문법중급namedtupleNamedTuple튜플불변
핵심 설명
namedtuple로 필드명이 있는 불변 튜플을 만들어 코드 가독성을 높입니다.
Python code
from collections import namedtuple
from typing import NamedTuple
# collections 방식
Point = namedtuple("Point", ["x", "y"])
p = Point(3, 4)
print(f"x={p.x}, y={p.y}")
print(f"거리: {(p.x**2 + p.y**2)**0.5:.2f}")
# typing 방식 (타입 힌트 포함)
class User(NamedTuple):
name: str
age: int
email: str = "없음" # 기본값
u = User("Alice", 30)
print(f"{u.name} ({u.age}) - {u.email}")
# _asdict(), _replace()
d = u._asdict()
print(d) # {'name': 'Alice', 'age': 30, 'email': '없음'}
u2 = u._replace(age=31)
print(u2) # User(name='Alice', age=31, email='없음')
# 언패킹 지원
name, age, email = u
print(name, age)학습 팁
대부분의 경우 typing.NamedTuple을 사용하세요. 타입 힌트와 기본값을 지원하며 더 읽기 좋습니다.
주의할 점
NamedTuple은 불변이므로 필드 값을 직접 변경할 수 없습니다. 변경이 필요하면 dataclass를 사용하세요.
자주 묻는 질문
네임드튜플란 무엇인가요?
namedtuple 로 필드명이 있는 불변 튜플을 만들어 코드 가독성을 높입니다.
네임드튜플 학습 시 주의할 점은 무엇인가요?
NamedTuple 은 불변이므로 필드 값을 직접 변경할 수 없습니다. 변경이 필요하면 dataclass 를 사용하세요.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.