티스토리 뷰

728x90
반응형

Python을 사용하다보면, 편합니다. 정말로 편합니다.

 

하지만 컴퓨터과학을 전공한 입장에서, "이렇게 편해도 되나?" 싶을때가 가끔 있습니다.

 

편한건 좋지만, 어떻게 작동하는지를 알아야 하는 맘이 듭니다.

 

이번 포스팅은 Python의 함수/패키지의 Detail을 확인하는 방법에대한 포스팅입니다.

 

가장 먼저, Python의 기본 함수를 확인하는 방법입니다.

docs.python.org/ko/3/library/index.html

 

파이썬 표준 라이브러리 — Python 3.9.2 문서

파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합

docs.python.org

파이썬은 오픈소스 언어인 만큼, 파이썬 자체 내장함수의 소스코드가 모두 공개되어 있습니다.

 

이때, 예를들어서 string 객체의 소스코드가 궁금하다면 아래와 같이 확인이 가능합니다.

 

Python의 String 소스코드

이때 참고사항으로, import _string이라는 문구가 보입니다.

 

일반적으로 Python 내장라이브러리에서 _로 시작하는 import된 library는

 

CPython으로 작성된 라이브러리 입니다. 

 

그럼 Pandas와 Numpy는 어떻게 확인할까요?

 

www.google.com/search?hl=ko&authuser=0&ei=uGpLYJ_NEoHWhwPls6CgCw&q=numpy.array+source+code&oq=numpy.array+sourc&gs_lcp=Cgdnd3Mtd2l6EAMYADICCAAyBAgAEB4yCAgAEAgQChAeOggIABCwAxDNAjoGCAAQCBAeUIC4BFiKxQRg58gEaAFwAHgAgAFuiAGjB5IBAzEuOJgBAKABAaoBB2d3cy13aXrIAQXAAQE&sclient=gws-wiz

 

numpy.array source code - Google 검색

NumPy is a library for the Python programming language, adding support for large, ... NumPy is open-source software and has many contributors. ... operate efficiently on arrays, requiring rewriting some code, mostly inner loops, using NumPy.

www.google.com

구글링이 답입니다. Pandas와 Numpy역시 오픈소스로 운영되는 패키지 입니다.

 

하지만 홈페이지 Docs에서 소스코드로 이동하는 링크가 없는 경우가 많습니다.

 

이런 경우 google에 "패키지이름.클래스이름 source code"라고 검색하면

 

일반적으로 최상단에 github에 등재된 소스코드가 올라옵니다.

하지만 Numpy나 Pandas, Python 내장함수같은 경우

 

빠른 속도를 위해서 CPython으로 작성되어 있기 때문에

 

Python만 할줄 알면 이걸 이해하는데 애로사항이 발생합니다.

 

그래서 일반적인 라이브러리의 경우 API 문서를 제공하여

 

사용자가 세부적인 코드를 이해하지 않고서도 해당 기능을 활용할 수 있게 합니다.

 

 

 

 

다음 포스팅에서는 CPython에 대해서 간단히 알아볼까 합니다(이해가 된다면)

728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함