파이썬에서 함수를 만들 때, 리턴값으로 namedtuple을 써보자.

파이썬에서 리턴값이 조금 복잡해지면, 딕셔너리를 많이 사용했었습니다. 그런데 이렇게 만든 함수를 쓰려면(함수 이름을 ‘fun’이라고 합시다!), fun[‘name’] 과 같이 딕셔너리를 불러오는 방식으로 써야합니다. 뭐 키보드를 많이 두드려야 합니다. 그래서 이를 쉽게 하는 방법을 찾다가 Not using named tuples when returning more than one value from a function이라는 글을 봤습니다. namedtuple을 이용해서 하면 fun.name과 같이 쉽게 처리할 수 있습니다. 윗글에서 코드를 가져왔습니다. 아주 쉽게 처리할 수 있습니다! name = namedtuple("name", ["first", "middle", "last"]), 코드에서 namedtuple을 만들어서 return name("Richard", "Xavier", "Jones")같이 사용하는 것입니다. 그러면 만들 때 사용했던, ["first", "middle", "last"]을 가지고 처리할 수 있게 됩니다.

from collections import namedtuple

def get_name():
    name = namedtuple("name", ["first", "middle", "last"])
    return name("Richard", "Xavier", "Jones")

name = get_name()

# much easier to read
print(name.first, name.middle, name.last)

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.