패키지와 모듈의 관계

from IPython.display import Image
# 출처: pythonstudy.xyz
Image('http://pythonstudy.xyz/images/basics/python-package.png')

즉, 하나의 .py 파일은 모듈이며, 모듈을 포함하는 디렉토리(directory)는 패키지로 정의됩니다.

모듈 import

  • 모듈 import는 외장 라이브러리의 모듈을 불러오는 유용한 기능입니다.
  • 모듈 import를 통해 는 다른 누군가가 이미 만들어 놓은 기능을 쉽게 가져와 사용할 수 있습니다.
  • 파이썬 모듈을 가져와 사용하기 위해서는 import 구문을 사용합니다.

먼저, 실습에 사용할 사용자 정의 모듈을 생성합니다.

%%writefile calculator.py
name = '계산기'

def add(a, b):
    return a + b

def sub(a, b): 
    return a - b

def multiply(a, b):
    return a * b

def divide(a, b):
    return a / b
Writing calculator.py

정의한 모듈 import

import calculator

모듈의 변수에 접근

calculator.name
'계산기'

모듈의 함수 실행

calculator.add(10, 20)
30

별칭(alias) 지정

  • as 구문으로 긴 이름의 모듈을 축약하여 별칭(alias)으로 지정할 수 있습니다.
import calculator as calc
calc.multiply(10, 20)
200

모듈의 다양한 import

  • 파이썬 모듈을 import 하는 방법은 여러가지 방식이 존재합니다.

random 모듈 import

import random
a = [1, 2, 3, 4, 5]

# random 모듈의 shuffle 함수를 실행
random.shuffle(a)
a
[4, 1, 5, 3, 2]

random모듈을 rd 별칭(alias) 지정

import random as rd
b = [1, 2, 3, 4, 5]

# rd 별칭으로 지정한 random 모듈의 shuffle 함수를 실행
rd.shuffle(b)
b
[5, 1, 2, 4, 3]

random 모듈의 shuffle() 함수 import

from random import shuffle
c = [1, 2, 3, 4, 5]

# import한 shuffle 함수를 실행
shuffle(c)
c
[5, 1, 3, 4, 2]

random 모듈의 shuffle() 함수를 sf 별칭(alias) 지정

from random import shuffle as sf
d = [1, 2, 3, 4, 5]

# import한 sf 함수를 실행
sf(d)
d
[2, 5, 4, 3, 1]

자주 사용하는 파이썬 데이터 분석 모듈

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import random
  • numpy: 과학 계산을 위한 패키지
  • pandas: 데이터 분석을 할 때 가장 많이 쓰이는 모듈
  • matplotlib: 시각화를 위한 모듈
  • seaborn: 시각화를 위한 모듈 (통계 시각화 기능을 제공하며 matplotlib 에 기반한 모듈 라이브러리)
  • random: 난수 생성 관련 모듈

random 모듈을 활용한 예시

# 0.0에서부터 1.0 사이의 실수(float) 난수 생성
random.random()
0.7728598504638505
# shuffle
a = [1, 2, 3, 4]
random.shuffle(a)
a
[1, 2, 3, 4]
# start포함 end미만 사이에서 랜덤한 정수 난수 생성
random.randrange(3, 10)
5