7/07/2015

[Python] 같은 이름을 가진 Parameter(파라미터)와 함수 내의 local variable(지역 변수)

결과적으로 다른 값을 가지면 다르고, 같은 값을 가지면 같은 것을 의미함

id 함수를 통해 이를 테스트 해볼 수 있다.

https://wikidocs.net/32 에서 id 항목을 참고
# id(변수명)은 메모리 위치를 출력, 이로 같은 위치에 있는 변수인지 확인


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
def parameter_local_variable_test(a):
 print("init : ", hex(id(a)))
 a = 10
 print("assign 10 to a : ", hex(id(a)))
 a = 5
 print("assign different value : ", hex(id(a)))
 a = 5
 print("same value : " ,hex(id(a)))
 
# >>> test(10)
# init :  0x6f43c0a0
# assign 10 to a : 0x6f43c0a0    # If argument is same with 10, not changed
# assign different value : 0x6f43c050   # changed
# assign same value : 0x6f43c050        # not changed
 
# >>> test(2)
# init :  0x6f43c020
# assign 10 to a : 0x6f43c0a0    # if argument is different with 10, changed
# assign different value : 0x6f43c050   # changed
# assign same value : 0x6f43c050        # not changed


[추가 자료] 파이썬 변수에 대한 이해를 돕는 링크. 그림과 코드만 봐도 쉽게 이해가 됨

댓글 없음:

댓글 쓰기