Python의 함수에서 여러 값 반환
- 튜플을 사용하여 Python의 함수에서 여러 값 반환
- 목록을 사용하여 Python의 함수에서 여러 값 반환
- 사전을 사용하여 Python의 함수에서 여러 값 반환
- 클래스를 사용하여 Python의 함수에서 여러 값 반환
-
dataclass
를 사용하여 Python의 함수에서 여러 값 반환
함수는 모든 프로그래밍 언어의 필수 부분입니다. 함수는 프로그래밍에서 특정 작업을 수행하기 위해 호출 할 수있는 코드 블록입니다. 일반적으로 함수는 값을 반환하는 데 사용됩니다. 이 값은 숫자, 문자열 또는 기타 데이터 유형이 될 수 있습니다.
이 자습서에서는 여러 값을 반환하는 함수를 만드는 다양한 방법에 대해 설명합니다. 이를 위해 사용자 정의 함수에서 목록, 사전 및 기타 개체와 같은 다른 데이터 개체를 반환합니다.
튜플을 사용하여 Python의 함수에서 여러 값 반환
쉼표로 구분 된 함수에서 값을 반환하면 튜플로 간주됩니다. 튜플은 일반적으로 괄호로 묶여 있습니다. 아래 코드에서는 Python 함수에서 튜플을 반환합니다.
def return_multi(a):
b = a + 1
c = a + 2
return b, c
x = return_multi(5)
print(x, type(x))
출력:
(6, 7) <class 'tuple'>
목록을 사용하여 Python의 함수에서 여러 값 반환
Python 목록은 공통 이름과 특정 위치에 다른 항목을 저장하는 데 사용됩니다. 함수는 또한 아래와 같이 목록에서 여러 값을 반환 할 수 있습니다.
def return_multi(a):
b = a + 1
c = a + 2
return [b, c]
x = return_multi(5)
print(x, type(x))
출력:
[6, 7] <class 'list'>
사전을 사용하여 Python의 함수에서 여러 값 반환
사전은 Python에서 키-값 쌍을 저장하는 데 사용됩니다. 다른 값에 할당 된 키가있는 함수에서 사전을 반환하여 훨씬 더 체계적인 형식으로 최종 출력을 얻을 수 있습니다. 다음 예를 참조하십시오.
def return_multi(a):
b = a + 1
c = a + 2
return {"b": b, "c": c}
x = return_multi(5)
print(x, type(x))
출력:
{'b': 6, 'c': 7} <class 'dict'>
클래스를 사용하여 Python의 함수에서 여러 값 반환
클래스에는 다양한 데이터 멤버와 함수가 포함되어 있으며 이러한 멤버에 액세스 할 수있는 개체를 만들 수 있습니다. 클래스 구조와 데이터 멤버를 기반으로 이러한 사용자 정의 클래스의 객체를 반환 할 수 있습니다. 예를 들면 :
class return_values:
def __init__(self, a, b):
self.a = a
self.b = b
def return_multi(a):
b = a + 1
c = a + 2
t = return_values(b, c)
return t
x = return_multi(5)
print(x.a, x.b, type(x))
출력:
6 7 <class '__main__.return_values'>
dataclass
를 사용하여 Python의 함수에서 여러 값 반환
dataclass
는 Python v3.7 이상에 추가 된 새로운 흥미로운 기능입니다. 기존 클래스와 유사하지만 주로 데이터를 저장하는 데 사용되며 모든 기본 기능이 이미 구현되어 있습니다. @dataclass
데코레이터 및dataclass
모듈을 사용하여 이러한 객체를 생성합니다. 아래 코드에서는 함수에서dataclass
를 반환합니다.
from dataclasses import dataclass
@dataclass
class return_values:
a: int
b: int
def return_multi(a):
b = a + 1
c = a + 2
t = return_values(b, c)
return t
x = return_multi(5)
print(x.a, x.b, type(x))
출력:
6 7 <class '__main__.return_values'>
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn