You are on page 1of 14

1 파이썬 모듈

목차 1 2

모듈의 모듈
정의 사용하기

3 4

주요 외장 모듈
내장 모듈 만들기
모듈의 개요
모듈

여러개의 변수와 함수를 지니고 있는 집합체


• 자바의 라이브러리와 유사한 개념

표준모듈: 파이썬이 기본적으로 내장하고 있는 모듈

외부모듈: 개발자가 만들어서 공개한 모듈

모듈을 가져올 때 코드의 가장 위에


“import 모듈명” 형태로 진행
import math

print(math.sin(1))
print(math.tan(1))
print(math.floor(11.1))
모듈의 개요
파이썬에서의 모듈
• 대략 200개가 넘는 모듈을 지원
 문자열(string), 날짜(data), 시간(time), 십진수(decimal),
랜덤(random)파일(file), os, sqlite3, sys, xml, email, http 등

모듈을 사용하는 이유
• 코드의 재사용에 유리
• 코드를 이름공간(기능별)으로 구분하고 관리에 편리
• 복잡하고 어려운 기능을 포함하는 프로그램을
간단한 코드로 제작 가능

출처 | https://upload.wikimedia.org
모듈의 개요
모듈 import
• import: 모듈을 현재 이름공간으로 가져오는 역할
>>> import math
>>> math.pow(2,10)
1024.0
>>> math.pi
3.14159226535897931

• math 모듈: 삼각함수, 제곱근, 로그함수 등



수학과 관련된 기능이 들어 있는 내장 모듈
• dir( ) 함수를 이용해 모듈에 어떠한 함수 또는
데이터가 들어있는지 확인 가능
>>> dir(math)
[‘__doc__’, ‘__name__’, ‘__pachage__’, ‘acos’,
‘acosh’, ‘asin’ ……………
모듈 사용하기
from 구문
• 특정 모듈에서 필요한 함수만 가져올 때 사용
• 기본형태: from 모듈명 import 함수,함수…

from math import sin, tan, floor

print(sin(1))
print(tan(1))
print(floor(11.1))

from math import *

print(sin(1))
print(tan(1))
print(floor(11.1))

• import: 모듈명.함수명( )
• from: 함수명( )
함수의 이름 중복시 문제 발생
모듈 사용하기
as 구문
• 가져온 모듈에 이름을 붙일 때 사용
• 기본형태: 모듈명 as 이름

import math as mymath

print(mymath.sin(1))
print(mymath.tan(1))
print(mymath.floor(11.1))
주요 내장 모듈
random 모듈
• 목적: 다양한 분포에 대한
의사 난수(pseudo random value) 생성기 구현
 의사 난수: 컴퓨터는 일반적인 정의의 난수 생성이 불가능
→ 정해진 패턴의 난수 생성
• 모듈 활용 사례
import random as psv

psv.random( ) #0.0 ~ 1.0 사이의 float를 리턴


psv.uniform(3,5) #지정한 범위사이의 float을 리턴
psv.randrange(1,10) #지정한 범위사이의 int를 리턴
psv.choice([1,2,3,4]) #리스트 내부에서 랜덤 선택
psv.shuffle([1,2,3,4]). #리스트를 랜덤하게 섞음 (튜플은?)
psv.sample([1,2,3,4],k=2). #리스트 내부에서 k개의 랜덤 샘플 선택
주요 내장 모듈
sys 모듈
• 목적: 시스템의 특정 파라미터와 함수에 대한 접근

import sys

sys.getwindowsversion( )
#시스템의 윈도우 버전(서비스팩)을 튜플로 리턴
sys.copyright( ) #파이썬 인터프리터 저작권을 문자열로 리턴
sys.version( ) #파이썬 인터프리터의 버전 번호 및 빌드번호 등을
#문자열로 리턴

os 모듈
• 목적: 운영체제(operating system)에서 제공하는 여러 기능을
파이썬에서 수행

import os

os.name #현재 운영체제 리턴


os.getcwd( ) #현재 폴더 리턴
os.mkdir(“data”) #폴더 생성
주요 내장 모듈
datetime 모듈
• 목적: 현재 날짜 및 시간에 대한 정보 접근

import datetime
dt = datatime.datetime.now( ) #현재지역의 시간과 날짜 반환
dt.year
dt.month
dt.day
dt.hour
dt.minute
dt.second

time 모듈
• 목적: 상대적인 시간 활용 (타이머)
import time

print(“5초간 정지”)
time.sleep(5) #주어진 초 동안 호출하는 스레드의 실행을 일시 중단
print(“5초간 정지 끝”)
외장 모듈 만들기
만들고자 하는 변수와 함수를 모듈명의 파일에 선언
• 원의 지름 및 면적을 계산하는 모듈 (simple_circle.py) 정의
simple_circle.py

PI = 3.14
def radius_input( ):
output = input(“반지름 입력:”)
return float(output)

def cal_circumference(radius): #원의 지름 계산 함수


return 2*PI*radius

def cal_circle_area(radius): #원의 면적 계산 함수


return PI * radius * radius
외장 모듈 만들기
만들고자 하는 변수와 함수를 모듈명의 파일에 선언
• Colab에서 사용자 정의 모듈을 업로드

from google.colab import files


src = list(files.upload().values())[0] #파일선택 후 업로드 진행
open(‘simple_circle.py','wb').write(src) #업로드 종료 후 파일 오픈

• 모듈 업로드 후 import 사용
import simple_circle as sc

radius=sc.radius_input( )
print(sc.cal_circumference(radius))
print(sc.cal_circle_area(radius))
외장 모듈 만들기
모듈의 위치 (타 환경 사용시)
• 프로그램이 실행된 디렉토리 내에서 검색
• PYTHONPATH 환경변수에 지정된 디렉토리 검색
• 파이썬 라이브러리 디렉토리 검색
 파이썬을 설치한 곳 아래 Lib 디렉토리

패키지(package)
• 모듈을 디렉토리 형식으로 구조화
용어 정리
함수
• 특정 기능을 수행하는 코드의 모임
• 내장함수: 파이썬 개발자들이 이미 만들어 둔 함수
• 사용자 지정 함수: 사용자가 여러 코드를 묶어서 새로 만든 함수

메소드
• 특정 자료에 대해 특정 기능을 하는 코드 (클래스 내 멤버 함수)

모듈
• 함수, 변수, 클래스 등을 구현해놓은 파이썬 파일(.py)

패키지
• 모듈을 폴더로 구분하여 관리하는 것

라이브러리
• 여러 모듈과 패키지를 묶어서 라이브러리라고 함

You might also like