더북(TheBook)


2.3객체 참조에 의한 전달(파이썬) – 변경 불가능 객체를 전달할 때


파이썬은 객체 참조에 의한 전달(call by object reference)이라는 특별한 방식으로 인자를 전달합니다. 이번 절에서는 변경 불가능 객체인 상수 객체를 인자로 전달해 보겠습니다.

파이썬에서는 함수를 호출할 때 인자로 전달된 객체를 일단 참조합니다. 여기까지는 변경 불가능 객체든 변경 가능 객체든 상관없습니다. 참조에 의한 전달과 비슷합니다. 코드와 그림으로 살펴볼까요?

코드 5-9 function/call_by_obj_ref1.py

def change_value(x, value):   #3
    x = value                 #4
    print("x : {} in change_value".format(x))

if __name__ = = "__main__":
    x = 10                    #1
    change_value(x, 20)       #2
    print("x : {} in main".format(x))

실행결과 x : 20 in change_value
x : 10 in main

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