Page 17 -
P. 17

Better way  19 함수가 여러 값을 반환하는 경우 절대로
                             네 값 이상을 언패킹하지 말라


              언패킹 구문의 한 가지 효과(Better way 6: ‘인덱스를 사용하는 대신에 대
              입을 사용해 데이터를 언패킹하라’ 참고)는 언패킹을 사용하면 함수가 둘 이

              상의 값을 반환할 수 있다는 것이다. 예를 들어 악어 개체군에 대한 여러 통

              계를 계산한다고 하자. 악어의 몸 길이 정보를 담은 list를 이용해 개체군에
              서 가장 긴 악어와 가장 짧은 악어의 몸 길이를 계산해야 한다. 다음은 두 값
              을 반환하는 것처럼 보이는 함수다.


              def get_stats(numbers):
                  minimum = min(numbers)
                  maximum = max(numbers)
                  return minimum, maximum

              lengths = [63, 73, 72, 60, 67, 66, 71, 61, 72, 70]

              minimum, maximum = get_stats(lengths)  # 반환 값이 두 개

              print(f'최소: {minimum}, 최대: {maximum}')


              >>>
              최소: 60, 최대: 73


              이 코드는 원소가 두 개인 튜플에 여러 값을 넣어서 함께 반환하는 식으로 작
              동한다. 이 함수를 호출한 코드는 반환받은 튜플을 두 변수에 대입해서 언패

              킹한다. 다음 코드는 언패킹 문과 여러 값을 반환하는 함수가 어떻게 같은 방
              식으로 작동하는지 보여주는 더 간단한 예다.

              first, second = 1, 2
              assert first == 1
              assert second == 2


              def my_function():




          134




     파이썬 코딩의 기술_06.indd   134                                              2020-10-20   오후 2:53:01
   12   13   14   15   16   17   18   19   20   21   22