본문 바로가기
파이썬 데이터 사이언스 핸드북

1장 Jupyter: 파이썬에 날개를 달자 - IPython의 도움말과 문서

by 가으더 2024. 3. 29.
728x90

Ipython은 훌룡한 파이썬 대화형 인터페이스일 뿐만 아니라 추가로 다수의 유용한 구문을 제공한다.

IPython의 도움말과 문서

 

?로 문서 확인하기

In [1]: help(len)
Help on built-in function len in module builtins:

len(...)
    len(object) -> integer

    Return the number of items of a sequence or mapping.
In [2]: len?
Type:        builtin_function_or_method
String form: <built-in function len>
Namespace:   Python builtin
Docstring:
len(object) -> integer

Return the number of items of a sequence or mapping.

단축키 ? 문자를 통해 도움말을 찾는 것이 더 유용하다.

위 사진 처럼 객체 메서드, 객체 자체도 정보를 제공한다. 심지어 함수에서도 가능

함수의 독스트링을 만들기 위해 첫 줄에 문자열 리터럴을 삽입했다.

그래서 ? 를 통해 접근 시 쉽게 이해할 수 있다. → 인라인 문서를 추가하는 습관을 들이자.

 

??로 소스코드에 접근하기

In [8]: square??
Type:        function
String form: <function square at 0x103713cb0>
Definition:  square(a)
Source:
def square(a):
    "Return the square of a"
    return a ** 2

간단한 함수의 경우 세부사항에 대한 통찰력을 얻을 수 있다.

하지만 len과 같은 내장 객체와 타입에서 ??와 ?가 같은 결과를 보여줄 때가 있다.

▶ ?나 ??는 파이썬 함수나 모듈이 무슨 일을 하는지에 대한 정보를 알아낼 수 있는 빠르고 강력한 인턴페이스를 제공한다.

 

탭 자동 완성으로 모듈 탐색하기

1) 객체에서 사용할 수 있는 모든 속성의 목록을 TAB키를 통해 위와 같이 볼 수 있다.

2) 목록에 해당하는 항목이 하나뿐이라면 탭 키를 누르면 그 줄이 완성된다.

비속성 속성을 찾을 수 있다.

임포트할 때에도 유용하다.

 

탭 완성을 넘어: 와일드카드 매칭

단어의 중간이나 마지막 글자로 매칭하고 싶다면 탭 완성은 거의 도움이 되지 않는다. Ipython은 * 문자를 이용해 이름을 와이들카드 매칭하는 방법을 제공한다.

네임스페이스에서 Warning으로 끝나는 모든 객체를 나열하기 위해 이를 이용할 수 있다.

이름 어딘가에 find가 포함된 문자열 메서드를 찾을 때도 위와 같이 사용 가능