주피터 노트북에서 작업 하다 보면 변수를 할당하게 되는데, 이때 변수명이 파이썬 내장함수와 같으면 충돌 오류가 발생한다.

예를 들어, set이라는 집합을 만들었다.

set = {1, 2, 3, 4, 5, 6, 7}

컴퓨터 메모리에 set이라는 방을 만들고 이 방 안에 {1, 2, 3, 4, 5, 6, 7}  을 넣은 것이다. 

이 상황에서 내장함수 set을 사용하면, Error가 발생한다. 

Error가 발생했을 때, 변수명과 함수명이 충돌해 에러가 발생한 것인지 확인하기 위해 유용한 명령어가 '%whos' 이다.

참고로 이 명령어는 파이썬과는 상관 없고, 주피터 노트북 내에서 사용되는 매직 커맨드다. (매직 커맨드에 대한 설명은 포스팅 맨 끝에) 




%whos는 지금까지 메모리에 저장된 모든 변수들을 보여준다. 

위에서 확인할 수 있듯 메모리에 'set'이라는 변수가 저장돼 있어서 함수 set을 사용하려 할 때 에러가 발생한 것이다.

에러를 해결하기 위해서는 del()을 사용해 내가 만든 변수 set을 삭제한다. 



1
2
set = {1, 2, 3, 4, 5, 6, 7} # set을 만들었다가
del(set)                    # 삭제 

이제 에러 없이 함수 set을 사용할 수 있다.




매직 커맨드는 %로 시작하는 명령어들로 여러모로 유용하게 사용된다.
많이 쓰이는 매직 커맨드들을 우선 기억해두자.

%who : 이 매직 커맨드는 메모리에 저장된 모든 변수 및 모듈을 보여준다.
%run :



파이썬의 다른 매직 명령어들을 소개한 블로그 : 클릭