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

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