728x90
반응형
안녕하세요. 스마트 팩토리입니다.
참조값에 의한 인수 전달-문자열(string)(call by value)에 대해 알아보겠습니다.
1. 참조값에 의한 인수 전달-문자열(string)(call by value)
가. 참조값에 의한 인수 전달-문자열(string)(call by value)
문자열의 경우도 문자의 값이 인수로 전달되어 변경되지 않는다.
이를 immitable object 한다.
이는 해당 인수의 주소값을 이해할 수 있다.
함수 내에서 값이 변경된 경우 해당 변수의 값은 새로운 객체에 저장되어 진행된다.
함수 부분
def addstr(string):
string+="반갑습니다. "
print("addstr() 내에서 string 값 : ", string)
print("addstr() 내에 string 주소 값 : ", id(string))
------------------------------------------------------------
메인 영역
name=input("이름을 입력하세요 :")
print("함수 호출 전 name",name)
print("함수 호출 전 name 주소값 :",id(name))
이름 변수에 이름을 입력 받아 그 값을 함수로 보내서 출력되게 하는 코드입니다. 그 전에 먼저 이름값과 주소 값을 출력합니다.
addstr(name)
함수부분으로 문자열을 출력합니다.
해당 주소값이 함수 호출전과 다른 것을 알 수 있습니다. 이는 객체를 새로 생성하여 나타냅니다.
print("함수 호출 후 name", name)
print("함수 호출 후 name 주소값 :",id(name))
함수 호출 후 메인에서 name 과 주소값을 출력합니다.
문자열도 함수를 통해서 값이 전달되어서 새로운 객체를 형성하여 값을 출력한다는 것을 알 수 있습니다.
def addstr(string):
string+="반갑습니다. "
print("addstr() 내에서 string 값 : ", string)
print("addstr() 내에 string 주소 값 : ", id(string))
name=input("이름을 입력하세요 :")
print("함수 호출 전 name",name)
print("함수 호출 전 name 주소값 :",id(name))
addstr(name)
print("함수 호출 후 name", name)
print("함수 호출 후 name 주소값 :",id(name))
728x90
반응형
'Python' 카테고리의 다른 글
파이썬 중급 #052 리스트 -list 인덱스(index) 와 요소값 출력 (0) | 2022.04.23 |
---|---|
파이썬 중급 #051 리스트 -list ,append() (0) | 2022.04.20 |
파이썬 초급 #049 함수 - 참조값에 의한 인수 전달(call by value) (0) | 2022.04.13 |
파이썬 초급 #048 함수 - 여러개 값 변환하기 (0) | 2022.03.03 |
파이썬 초급 #047 함수 - 함수 모듈 호출 및 적용(2) import 함수파일명, from 함수파일명 import 함수명 (0) | 2022.02.27 |
댓글