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