nathan_H

python - namedtuple 본문

Programming Laguage/Python

python - namedtuple

nathan_H 2019. 4. 30. 19:05

 

 자료구조에서 과하게 엔지니어링 하는 것을 

피하는 것이 좋다.

 

그래서 객체보다는 튜플이 낫다.

 

그리고 여기서 객체 역활 처럼하는

튜플인 namedtuple을 알아보고자 한다.

 

from collections import namedtuple

User = namedtuple("User", "name age") # namedtuple(이름, 스페이스로 구분된 필드 이름의 문자열)
user1 = User("nathan", 23)
print(user1)
print(user1.name)
print(user1.age)

user2 = user1._replace(age=24, name="dan")
print(user2) # 네임드 튜플은 불변하지만 필드를 바꿔서 또 다른 네임드 튜플을 반환 할 수 있다.

parts = {"name": "hong", "age": 24}
user3 = User(**parts) # 키워드 인자 parts의 키와 값을 추출하여 User의 인자로 제공.
print(parts)

 

 

namedtuple은

모듈을 불러와서 사용할수 있고

 

다음과 같은 특징을 가진다.

 

1. 불변하는 객체처럼 행동한다.

 

2. 객체보다 공간의 효율성 시간 효율성이 좋다.

 

3. 딕셔너리 형식의 괄호 대신 점 표기법으로 속성을 접근할 수 있다.

 

4. 네임드 튜플은 딕셔너리의 키처럼 사용할 수 있다.

'Programming Laguage > Python' 카테고리의 다른 글

python - __name__  (0) 2019.05.01
python - Module  (0) 2019.05.01
python class - duck typing  (0) 2019.04.30
python - class method type.  (0) 2019.04.30
python - function 과 method  (0) 2019.04.30
Comments