반응형
아래 다이어그램에는 f
함수에서 반환 된 temp
이름에 대한 쿼리가 있습니다.
로컬 프레임 f
에서 temp
는 다음과 같이 말할 때 int
클래스의 6
객체를 가리키는 참조 변수입니다. checkPassingMech
프레임의 일부인 참조 변수 output
의 f
에서 return temp
는 동일한 개체 6
해당 temp가 가리키는.
내 질문:
Q1) 내 이해가 정확합니까?
Q2) Q1이 예이면이 다이어그램은 temp
가 참조 유형이 아니라 6을 가리키는 화살표가 아닌 상자에 값을 표시한다는 착각을줍니다. 맞습니까?
Q3) Q2가 yes이면 6
이 실제로 힙에 저장되고 temp
및 output
이이 힙을 가리킬 것이라고 말할 수 있습니까? 프레임 (로컬 스택)에서의 공간
해결 방법
>>> def f():
temp = 6
print(id(temp))
return temp
>>> output = f()
507107408
>>> id(output)
507107408
CPython 구현 세부 정보 : Python의 경우 if (x)가 메모리입니다. x가 저장되는 주소.
엄밀히 말해서 값이 6 이면 output
과 temp
는 실제로 동일한 객체를 가리키는 int 파이썬이 시작될 때 캐시되는
객체.
참조 페이지 https://stackoverflow.com/questions/22896094
반응형
'파이썬' 카테고리의 다른 글
파이썬 Flask self.errors.append ()-AttributeError : 'tuple'객체에 'append'속성이 없습니다. (0) | 2020.12.16 |
---|---|
파이썬 SQLite 매개 변수 대체 문제 (0) | 2020.12.16 |
파이썬 PDF 파일에서 텍스트 및 텍스트 좌표를 추출하는 방법은 무엇입니까? (0) | 2020.12.16 |
파이썬 빈 배열에 대한 ValueError 극복 (0) | 2020.12.16 |
파이썬 Xlsxwriter 파일을 특정 경로에 저장하는 방법은 무엇입니까? (0) | 2020.12.16 |
댓글