더북(TheBook)

앞의 코드를 전달값과 반환값을 활용해 전역변수가 없는 버전으로 만들어 보겠습니다. 반환 의미를 담아 rent_return()이라는 새로운 함수로 정의합니다.

glasses = 10

 

def rent_return(glasses, people): # 전체 3D 안경 수와 대여 관객 수를 전달받음
    glasses = glasses - people # 전달값을 담은 glasses 사용
    print("[함수 내부] 남은 3D 안경 개수: {0}".format(glasses))
    return glasses
print("전체 3D 안경 개수: {0}".format(glasses))
glasses = rent_return(glasses, 2) # 함수 안에서 수정된 glasses 값을 반환받음
print("남은 3D 안경 개수: {0}".format(glasses))

실행결과 icon_con

전체 3D 안경 개수: 10
[함수 내부] 남은 3D 안경 개수: 8
남은 3D 안경 개수: 8

함수를 정의할 때 전달값을 잘 이용하면 함수 외부 상황은 몰라도 함수 기능에 충실하면서도 간결하게 작성할 수 있습니다. 그리고 잘 만든 함수는 언젠가 다른 프로그램에서 같은 기능이 필요할 때 그대로 활용할 수 있습니다. 이것이 함수를 사용하는 이유이기도 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.