티스토리 뷰
Python을 사용하다보면, 편합니다. 정말로 편합니다.
하지만 컴퓨터과학을 전공한 입장에서, "이렇게 편해도 되나?" 싶을때가 가끔 있습니다.
편한건 좋지만, 어떻게 작동하는지를 알아야 하는 맘이 듭니다.
이번 포스팅은 Python의 함수/패키지의 Detail을 확인하는 방법에대한 포스팅입니다.
가장 먼저, Python의 기본 함수를 확인하는 방법입니다.
docs.python.org/ko/3/library/index.html
파이썬은 오픈소스 언어인 만큼, 파이썬 자체 내장함수의 소스코드가 모두 공개되어 있습니다.
이때, 예를들어서 string 객체의 소스코드가 궁금하다면 아래와 같이 확인이 가능합니다.
이때 참고사항으로, import _string이라는 문구가 보입니다.
일반적으로 Python 내장라이브러리에서 _로 시작하는 import된 library는
CPython으로 작성된 라이브러리 입니다.
그럼 Pandas와 Numpy는 어떻게 확인할까요?
구글링이 답입니다. Pandas와 Numpy역시 오픈소스로 운영되는 패키지 입니다.
하지만 홈페이지 Docs에서 소스코드로 이동하는 링크가 없는 경우가 많습니다.
이런 경우 google에 "패키지이름.클래스이름 source code"라고 검색하면
일반적으로 최상단에 github에 등재된 소스코드가 올라옵니다.
하지만 Numpy나 Pandas, Python 내장함수같은 경우
빠른 속도를 위해서 CPython으로 작성되어 있기 때문에
Python만 할줄 알면 이걸 이해하는데 애로사항이 발생합니다.
그래서 일반적인 라이브러리의 경우 API 문서를 제공하여
사용자가 세부적인 코드를 이해하지 않고서도 해당 기능을 활용할 수 있게 합니다.
다음 포스팅에서는 CPython에 대해서 간단히 알아볼까 합니다(이해가 된다면)
'Python 잡지식' 카테고리의 다른 글
[Python]Python 함수 실행간 메모리 측정하기 (0) | 2023.10.23 |
---|---|
Numpy는 왜 빠를까?(SIMD, 데이터정렬) (0) | 2022.02.08 |
Python의 매개변수 전달방식 (0) | 2021.03.13 |
Event Listener의 정체 (0) | 2021.03.10 |
Python의 Thread1 (0) | 2021.03.09 |
- Total
- Today
- Yesterday
- AVX
- 자료구조
- 동적계획법
- hash
- 알고리즘
- git
- 컴퓨터그래픽스
- Python
- heap
- 분할정복
- 완전탐색 알고리즘
- 사칙연산
- Sort알고리즘
- SIMD
- Search알고리즘
- prime number
- Greedy알고리즘
- 이분탐색
- GDC
- stack
- C++
- 코딩테스트
- 병렬처리
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |