티스토리 뷰

파이썬

파이썬의 포인터

Andrew Shin 2015. 5. 19. 20:50
1
id(n)
cs
id 함수를 통하여 우리는 n 변수의 주소를 확인해 볼 수 있다.

1
2
3
4
= 5
= 3
 
print(id(a), id(b))
cs
위 코드를 통하여 a와 b의 id를 확인해 보자.

정상적으로 출력이 되었는가
그렇다면 a의 값을 3으로 바꾸어 출력해보자.

1
2
3
4
= 3
= 3
 
print(id(a),id(b),id(3))
cs

<출력형태>

뭔가 잘못되었다는 것을 출력형태를 통하여 확인할 수 있다.
a의 id와 b의 아이디 상수 3의 id가 전부 같다는 것인데.. C언어에서는 있을 수 없는 일이다.
하지만 파이썬에서는 모든 변수가 포인터타입으로 값을 가리킨다고 볼 수 있다. 그렇다고 원래 없던 포인터 개념이 생기지는 않는다. C언어처럼 *을 붙여서 역참조하여 원본값을 바꾸는 일은 불가능 하다는 것이다.

이 페이지에서 말하고 싶은 바를 한줄로 정리하자면 파이썬에서 해당 값을 가리키는 id값은 있지만 포인터 개념은 없다는 것이다.
id값은 컴퓨터 내부에 존재하는 것이고 이 값을 통해 우리가 할 수 있는 것은 없다.

따라서 파이썬을 학습하는데 있어서 포인터에 대한 미련을 버려야 되겠다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함