본문 바로가기
방구석코딩/파이썬 기초문법

[파이썬 독학] 도움을 주는 명령어 : dir(), type()

by 석세상 2022. 8. 11.
반응형

앞에서 봤던 help 명령어의 경우 모르는 명령어 모듈, 패키지 등에 대해서 궁금한 것이 있거나 어떻게 사용하는지에 대해서 알아보기 위해서 사용한 명령어인데요. 그 외 코딩 시 도움이 되는 명령어는 어떤 것들이 있는지 알아볼까요?

 

 

dir() 명령어

프로그램을 생성하다가 보면 몇 개 안 되는 걸 할 때는 내가 생성한 것들이 어떤 것인지 기억하기 쉬울 수 있지만 긴 프로그램을 짜다가 보면 이 변수를 사용했나? 이 객체를 생성했나? 하면서 헷갈릴 수 있는데요. 이럴 때 내가 어떤 것들을 실행했는지 알 수 있는 명령어가 dir()입니다. 

 

아무것도 없이 그냥 dir()만 실행한 경우는 아래와 같이 생성되는데요. 왼편은 주피터 노트북을 켜고 맨 처음 실행했을 때 결과입니다. 셀 왼편에 In에 1이라고 되어 있는 것이 1번째 실행했다는 의미입니다.

 

만약 a = 1이라고 되어 있는 것을 여러 번 반복 실행한 경우는 계속 동일한 값이 나와 변화를 느끼지 못했겠지만 오른편의 똑같이 dir()을 3번째(In [3]이 세 번째 실행했다는 의미임)  실행하니 위쪽에는 _1, _2, 아래쪽에는 _i2, _i3과 같은 것들이 생기는 걸 봐서 내부에서 무언가 남기는 것 같습니다.

 

dir()은 내가 어떤 것을 실행했는지, 어떤 변수를 생성했는지와 같은 것을 알 수 있다고 얘기했는데요. 아래는 아무것도 생성하지 않았음에도 보이는 것으로 주피터 노트북을 켜면 기본으로 실행되는 것으로 보입니다.

동일값 반복 실행 시

 

 

그러면 리스트를 하나 생성해보면 추가되는지 확인해보겠습니다. ls라는 이름을 가진 1, 2, 3, 4를 가진 리스트를 생성했습니다. 그리고 dir()을 이용해서 확인해봤더니 아랫부분에 ls가 보이는 것을 알 수 있습니다. 긴 프로그램을 생성 시 이렇게 내가 ls를 생성했는지 아닌지 잘 기억이 나지 않는 경우 dir()을 이용해서 확인할 수 있겠죠.

 

헷갈리면 다시 한번 실행해버리면 되지 않냐라고 생각할 수도 있겠지만 굉장히 오래 돌아가는 프로그램인 경우는 많은 시간을 기다리는데 소모하기 때문에 비효율적이고, 이미 생성된 데이터를 사용해야 하는 경우 같은 이름으로 덮어버리면 전혀 다른 결과가 나올 수도 있기 때문에 dir()을 이용하여 덮어쓰기 해도 되는 것인지, 그러면 안 되는지 확인하는 데에도 유용하게 쓰일 것으로 보입니다.

 

항상 예제로는 간단한 것들만 해보기 때문에 '이게 뭐야'라고 생각할 수도 있겠지만 나중에 본격적으로 본인이 필요한 프로그램을 생성하다 보면 분명 큰 도움이 되는 명령어라고 생각합니다.

리스트 생성 확인

 

 

그리고 하나 더 확인할 수 있는데요. dir()의 괄호 안에 방금 생성한 리스트 명인 ls를 넣어보도록 하겠습니다. 그러면 아래와 같은 결과가 나오게 되는데 '__어쩌고..__'로 되어 있는 부분들은 리스트에 대해 무언가 정의된 내용으로 보입니다. 그리고 쭉 내려가서 아랫부분에 append 부분부터는 리스트 형태에서 사용 가능한 명령어들을 보여주는 것 같습니다. 이렇게 또 다른 사용법도 있으니 알아두면 도움이 될 것 같습니다.

dir()에 특정값을 넣어 실행

 

 

type() 명령어

dir() 명령어의 경우는 어떤 변수 등을 실행했는지 확인 가능한 명령어였다면 type()은 내가 ls라는 것을 생성한 것까지는 알았는데 이게 모듈인지, 리스트인지, 클래스인지... 등등에 대해 모를 때 이에 대한 정보를 제공합니다. 

 

아래와 같이 실행해보면 type() 괄호 안에 ls를 넣었더니 list라는 결과를 출력합니다. 그러면 ls가 뭐였는지 알 수 있는 것이죠. 그다음 줄은 import를 통해 math라는 것을 가져옵니다. math가 모듈인지, 패키지인지 알기 어렵죠. type(math)를 실행해보니 모듈이라고 바로 결과창에 알려줍니다.

 

물론 앞에서 배운 help 명령어를 이용해서도 알 수 있겠지만 help의 경우 너무 많은 정보를 보여주기 때문에 이 객체의 유형이 뭔지만 알고 싶은 경우 type() 명령어를 이용해서 간단하게 알아볼 수 있습니다. 생각보다 굉장히 많이 사용하는 명령어이니 잘 숙지하면 좋을 것 같습니다.

type() 명령어 실행 결과

 

728x90
반응형

댓글