파이썬 (2-2) 같은 오브젝트 참조 관련해서 질문 드립니다.
293
작성한 질문수 1
m=800, n=800으로 선언을 하고 id 넣고 출력을 해도 true가 아닌 false가 뜹니다. 왜이런 건가요?
또 수업에서와 같이 m=800의 객체의 고유값을 확인했는데 수업과 다른 숫자가 출력되는 이유도 궁금합니다.
답변 2
0
Python 3.9.0을 사용하고 있습니다. 이게 혹시 버전이 올라가면서 변경된 건 없을까요? iPython을 열고 입력해보면 두 변수의 참조 번호가 다르게 나옵니다(아래는 실행한 결과). 실행환경은 리눅스입니다.
joshua@blackwidow:~$ ipython
Python 3.9.0 (default, Oct 17 2020, 16:52:55)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.18.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: m = 800
In [2]: n = 800
In [3]: print(id(m))
140500560747056
In [4]: print(id(n))
14050056074689
In [5]: print(id(m), id(n))
140500560747056 140500560746896
In [6]:
그래서 a=b=c는 혹시 id가 같지 않을까 해서 아래와 같이 해봤더니 이때에는 동일하게 나오네요.
joshua@blackwidow:~$ ipython
Python 3.9.0 (default, Oct 17 2020, 16:52:55)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.18.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = b = c = 700
In [2]: a is b
Out[2]: True
In [3]: a is c
Out[3]: True
In [4]: b is c
Out[4]: True
In [5]: d = 700
In [6]: a is d
Out[6]: False
In [7]: print('a: '+str(id(a)), 'b: '+str(id(b)), 'c: '+str(id(c)), 'd: '+str(id(d)), sep='\n')
a: 139701311787120
b: 139701311787120
c: 139701311787120
d: 139701311539856
In [8]: a = 701
In [9]: print('a: '+str(id(a)), 'b: '+str(id(b)), 'c: '+str(id(c)), 'd: '+str(id(d)), sep='\n')
a: 139701310301872
b: 139701311787120
c: 139701311787120
d: 139701311539856
0
안녕하세요.
혹시 m과 n의 id를 출력하기 전에 중간에 값이 변경되었는지 확인바랍니다.
초기에 같은 값으로 변수를 선언해도 중간에 값이 변경되면 id 값이 변합니다.
추가적으로, 객체의 고유값 id는 새 파일을 작성해서 출력할때마다 계속 변경됩니다.
그 이유는 id는 랜덤하게 지정되기 때문입니다.
감사합니다.
54강 4분 41초에서 질문 있어요.
0
10
1
import
0
9
1
45강 예제4번에서 질문 있어요!
0
10
0
45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?
0
10
1
3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;
0
10
0
41강 1분 39초 영상에서 import test_module이 조회 안 돼요.
0
25
1
29강 while(3-1) 5분 20초 강의 영상 질문
0
35
0
pcskjs@naver.com
0
43
1
인터프리터 설정이 안됩니다.
0
49
1
Python formatter 설치
0
33
1
자료 다운로드 위치 확인 부탁드립니다.
0
36
2
보라색 예약어
0
28
1
#을 붙이는 이유
0
30
1
실행이 안 되는데요.
0
28
1
print 문법 실행 안 돼요.
0
31
1
영문 계정
0
28
1
맥북에서 아이패드로 연결해서 보려고 하면 화면이 안뜹니다.
0
25
1
인스턴스 변수 문의
0
66
1
챕터 03_04 (튜플) 교육자료
0
74
2
Package(3-1) Sub 폴더 자료
0
59
1
아톰 출력 안됨
0
100
2
강의자료 메일 발송 요청 드립니다.
0
108
1
강의자료 메일로 보내주실 수 있으실까요?
1
66
0
Iterable 요소는 리스트로 작성해야하는 것 맞나요?
1
93
2





