본문 바로가기
Python

파이썬 중급 #077 리스트 - 참조로 호출하기(call by reference)

by Smart Factory in 2020 2022. 5. 24.
728x90
반응형

안녕하세요. 스마트팩토리입니다. 
파이썬 중급 #077 리스트 - 참조로 호출하기(call by reference)에 대해 알아보겠습니다. 

1. 참조로 호출하기

참조로 호출하기
- 주소값이 호출되어 결과적으로 원본의 내용이 변경된다. 
리스트와 같은 변수의 경우 참조(주소값)로 호출된다. 
이에 리스트가 매개변수인 경우 그 값이 함수내에서 변경되면 메인 함수에서 변경된 값이 적용된다. 

 

코드를 보면

def fcall(list):
    list.append(10)
    return list

list요소값으로 10을 추가하는 함수입니다. 


list1=[]
for i in range(1,5):
    list1.append(i)

리스트 요소에 1부터 4까지 요소를 넣었습니다. 


print("list1 요소값 :",list1)
print("list1 주소값 :",id(list1))

메인 함수에서 리스트 값과 주소값을 출력합니다. 


fcall(list1)
print("list1 요소값 :",list1)
print("list1 주소값 :",id(list1))

 

list1에 요소값이 추가된 것을 볼 수 있습니다. 이는 함수에서 주소값이 전달되어 해당 리스트에 요소값이 추가된 것입니다. 요소값이 전달되는 경우와 주소값이 전달되는 경우에 따라서 결과값이 달라질 수 있으니 그 차이를 꼭 알아두어야 합니다. 

def fcall(list):
    list.append(10)
    return list

list1=[]
for i in range(1,5):
    list1.append(i)

print("list1 요소값 :",list1)
print("list1 주소값 :",id(list1))

fcall(list1)
print("list1 요소값 :",list1)
print("list1 주소값 :",id(list1))
728x90
반응형

댓글