본문 바로가기

언어/Python

[ Python ] 다중 값을 반환하는 여러가지 방법 알아보기

반응형

파이썬에서 함수가 여러 값을 반환하는 방법은 여러 가지가 있습니다.
가장 일반적인 방법은 튜플을 사용하여 여러 값을 반환하는 것입니다.
또한, 리스트나 딕셔너리와 같은 데이터 구조를 사용하거나, 클래스 객체를 반환하는 방법도 있습니다.
아래에 다양한 방법을 설명하겠습니다.

1. 튜플을 사용하여 다중값 반환

튜플은 여러 값을 반환하는 가장 간단한 방법입니다.

def get_coordinates():
    x = 10
    y = 20
    return x, y

# 함수 호출
coords = get_coordinates()
print(coords)  # 출력: (10, 20)

# 개별적으로 값 받기
x, y = get_coordinates()
print(x, y)  # 출력: 10 20

2. 리스트를 사용하여 다중값 반환

리스트를 사용하여 여러 값을 반환할 수 있습니다.

def get_colors():
    return ['red', 'green', 'blue']

# 함수 호출
colors = get_colors()
print(colors)  # 출력: ['red', 'green', 'blue']

# 개별적으로 값 받기
red, green, blue = get_colors()
print(red, green, blue)  # 출력: red green blue

3. 딕셔너리를 사용하여 다중값 반환

딕셔너리를 사용하면 반환 값에 이름을 붙여서 반환할 수 있습니다.

def get_person_info():
    return {'name': 'John', 'age': 30, 'city': 'New York'}

# 함수 호출
person_info = get_person_info()
print(person_info)  # 출력: {'name': 'John', 'age': 30, 'city': 'New York'}

# 개별적으로 값 받기
name = person_info['name']
age = person_info['age']
city = person_info['city']
print(name, age, city)  # 출력: John 30 New York

4. 클래스 객체를 사용하여 다중값 반환

클래스를 정의하여 객체로 반환할 수도 있습니다.

class Person:
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city

def get_person():
    return Person('Alice', 25, 'Los Angeles')

# 함수 호출
person = get_person()
print(person.name, person.age, person.city)  # 출력: Alice 25 Los Angeles

5. 데이터 클래스(Data Class)를 사용하여 다중값 반환

파이썬 3.7 이상에서는 데이터 클래스를 사용하여 다중값을 반환할 수 있습니다.

from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int
    city: str

def get_person():
    return Person('Bob', 40, 'Chicago')

# 함수 호출
person = get_person()
print(person.name, person.age, person.city)  # 출력: Bob 40 Chicago

6. 별도의 값 반환

간단히 여러 값을 개별적으로 반환할 수도 있습니다.

def get_values():
    return 1, 2, 3

# 함수 호출
a, b, c = get_values()
print(a, b, c)  # 출력: 1 2 3

7. 요약

파이썬에서는 튜플, 리스트, 딕셔너리, 클래스 객체, 데이터 클래스를 사용하여 여러 값을 반환할 수 있습니다.
각각의 방법은 특정 상황에 맞게 사용할 수 있으며, 반환할 값의 성격과 구조에 따라 적합한 방법을 선택하면 됩니다.

반응형