4.6 파이썬 패키지의 가이드 투어
python.org에는 무료로 사용할 수 있는 수천 개의 패키지가 존재한다. 표 4-1에서 보여 주는 패키지 그룹은 파이썬의 가장 유용한 패키지들이니 반드시 살펴보기 바란다.
re, math, random, array, decimal, fractions 패키지는 파이썬 3을 내려받을 때 포함되어 있기 때문에 따로 패키지를 내려받아 설치할 필요가 없다.
반면 numpy, matplotlib, pandas 패키지는 pip나 pip3를 사용하여 별도로 사용할 패키지를 설치해야 한다. 마지막 장인 12장에서 이 도구들을 더 깊이 다루어 볼 것이다.
▼ 표 4-1 이 책에서 다루는 파이썬 패키지
탑재 모듈 이름 |
상세 설명 |
re |
• 정규표현식 패키지. 이 패키지로 많은 단어, 구문 혹은 문장과 일치하는 텍스트 패턴을 만들 수 있다. 이 패턴-사양(pattern-specification) 언어는 매우 효율적으로 섬세한 검색을 할 수 있게 해 준다. • 이 패키지는 매우 중요하며 6~7장에서 살펴볼 것이다. |
math |
• 수학 패키지. 유용한 표준 수학 함수들을 포함하고 있어 직접 만들 필요가 없다. 삼각함수, 쌍곡선 함수, 지수 함수, 로그 함수, 상수 e, pi(원주율) 등을 포함한다. • 11장에서 다룬다. |
random |
• 무작위(pseudo-random) 값을 생산하는 함수들의 집합이다. 무작위 숫자는 현실적으로 사용자가 예측하는 것이 불가능한 숫자를 의미한다. • 무작위 생성 패키지는 요청하는 범위 내에 임의 정수나 부동소수점, 정규 분포 등을 생성할 수 있다. 정규 분포는 평균값을 중심으로 군집화하여 빈도수의 ‘종형 곡선(bell curve)’을 형성한다. • 11장에서 다룬다. |
decimal |
• 이 패키지는 Decimal 데이터 타입을 지원하는데, (float 타입과는 달리) 반올림 오류 없이 달러와 센트 수치를 정확하게 나타낼 수 있다. Decimal은 회계나 금융 애플리케이션에서 자주 사용된다. • 10장에서 다룬다. |
fractions |
• 10장에서 다룬다. 이 패키지는 두 정수의 비율로 절대 정밀도를 소수점으로 저장하는 Fraction 데이터 타입을 지원한다. 예를 들어 이 데이터 타입은 float 타입이나 Decimal 타입으로는 반올림 오류가 발생하는 1/3의 비율을 절댓값으로 표현할 수 있다. • 10장에서 다룬다. |
array |
• 이 패키지는 리스트와는 다르게 원천(raw) 데이터를 연속적인 공간에 저장하는 array 클래스를 지원한다. 이 방식이 항상 빠른 것은 아니지만, 다른 프로세스와 상호 작용할 때 연속적인 저장 공간에 데이터를 넣어야 하는 경우 필요하다. 반면 이 패키지의 장점은 비슷하지만 더 많은 기능을 제공하는 numpy 패키지에 의해서 훨씬 더 확장된다. • 12장에서 간단하게 다룬다. |
numpy |
• 이 패키지는 1차, 2차 및 다차원 배열의 고성능 배치 처리를 지원하는 numpy(numeric python) 클래스를 제공한다. 이 클래스는 그 자체만으로도 대량 데이터를 다루는 초고속 프로그램을 만들 때 유용하지만, 다른 클래스의 기초 패키지로도 활용된다. • 이 패키지는 12~13장에서 다룬다. numpy는 pip 혹은 pip3로 설치해야 한다. |
numpy.random |
• random 패키지와 비슷하지만 numpy에서 사용하기 위해 만들어졌고, 큰 규모의 임의 숫자를 빠르게 생성할 필요가 있을 때 사용한다. 기본 random 패키지와 성능 비교 테스트를 해 보니, numpy random 클래스가 많은 수를 담고 있는 큰 배열을 만들 때 더 빠르다는 것을 수차례 확인했다. • 이 패키지 역시 12장에서 살펴볼 것이다. |
matplotlib.pyplot |
• 이 패키지는 파이썬에서 섬세한 그래프를 그릴 수 있도록 도와준다. 이 기능을 사용하면 심지어 3차원 데이터의 아름다운 도표와 그래프를 만들 수 있다. • 이 패키지는 13장에서 다룬다. pip 혹은 pip3로 설치해야 한다. |
pandas |
• 이 패키지는 다양한 정보를 담고 있는 테이블 형태의 데이터 프레임을 제공하며, 인터넷으로부터 정보를 수집하여 적재하는 기능을 제공한다. 이렇게 수집하여 적재한 정보는 numpy와 조합할 수 있으며, 인상적인 그래프를 손쉽게 그릴 수 있다. • 이 패키지는 15장에서 다룬다. 이 패키지도 내려받아야 한다. |