나는 며칠 동안이 질문에 대한 정확한 답을 찾고 있었지만 좋은 것을 얻지 못했습니다. 나는 프로그래밍의 완전한 초보자는 아니지만 아직 중급 수준은 아닙니다.
Python의 셸에있을 때 다음을 입력합니다. dir()
현재 범위 (메인 블록)에있는 모든 개체의 모든 이름을 볼 수 있으며 그중 6 개가 있습니다.
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
그런 다음 예를 들어 변수를 선언 할 때 x = 10
기본 제공 모듈 아래에있는 개체 목록에 자동으로 추가되고 다시 dir()
입력하면 다음과 같이 표시됩니다 dir()
.
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']
함수, 클래스 등도 마찬가지입니다.
처음에 사용 가능한 표준 6을 지우지 않고 모든 새 개체를 삭제하려면 어떻게해야합니까?
명령 프롬프트 창에서 모든 텍스트를 지우는 "메모리 정리", "콘솔 정리"에 대해 여기에서 읽었습니다.
>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()
그러나이 모든 것은 내가 달성하려는 것과는 아무런 관련이 없으며 사용 된 모든 개체를 정리하지 않습니다.
del
기능 이 있다는 것을 몰랐 습니다. 저는 파이썬을 배우기 시작했고 종종 셸에서 실험해야하므로 x
또는 같은 표준 변수 이름 y
이 이미 사용 중이며 셸을 다시 시작하는 데 15 초가 더 걸립니다 (현재 매우 오래된 노트북이 있습니다). 그래서 저는 파이썬 메모리를 더 빨리 정리하는 방법을 찾고 싶었습니다.
del
는 정확히 함수가 아니므로 아니요 (
및 )
. del 문을 소개하는 키워드입니다. 물론 객체를 실제로 삭제하는 방법에는 기능이 포함될 수 있지만 다른 이야기입니다 ...
x
또는 y
하지 않는 한 사용하지 않아야 당신이 그들을 사용하고 있습니다. 또는 어리석은 일을하지 않는 한 from _somemodule_ import *
, 모든 종류의 쓰레기가 장소를 어지럽히 게됩니다. :)