13-1 내장모듈
- 모듈
모듈 :
함수나 변수 도는 클래스를 모아 놓은 파일
여러 코드를 한데 묶어서 다른 곳에서 재사용할 수 있는 코드 모음
특정 기능을 .py 단위로 작성한 것
모듈의 장점 :
반복해서 코드를 사용하지 않아 시간을 단축하고 생산성을 높일 수 있음
이름 공간으로 구분하여 관리할 수 있음
모듈의 종류 : 내장모듈과 사용자가 만드는 모듈
- 내장 모듈
파이썬 기본 내장 함수 : print, input range 특별한 모듈을 호출할 필요 없이 언제든지 사용
기본 내장함수를 제외한 함수들 :
표준 라이브러리 안에 있는 모듈에 구현되어 있음
사용하기 위해서는 모듈을 반드시 미리 호출해야 함
해당모듈을 파이썬의 실행환경에 import한 후에 사용 가능
ex) 문자열(re모듈), 시간(time모듈), 십진법(decimal모듈), 날짜(date모듈), 수학(math모듈), 랜덤(random모듈) 등
sys, os : 파일과 디렉터리 접근 가능
math, random : 수학과 관련
webbrowser, urllib : 인터넷과 관련
time, datetime : 날짜와 관련
- 내장 모듈 os
os 모듈 : 운영체제에 접근하여 파일을 만들거나 복사하거나 디렉토리를 만드는 일을 하는 모듈
impor os 후에 시작함
제공하는 함수 :
gecwd : 현재 디렉토리를 반환
chdir() : 현재 폴더를 변경
listdir() : 현재 디렉토리 안에 들어있는 폴더와 파일을 반환
mkdir() : 폴더를 생성
예시)
- 내장모듈 sys
sys 모듈 : 파이썬 인터프리터와 관련된 정보와 기능을 제공하는 모듈
인터프리터 : 사용자와 컴퓨터 사이를 통신하는 역할을 함
import sys 후에 시작
제공하는 함수 :
sys.path : 모듈을 찾을 때 참조하는 경로를 나타냄
sys.exc_info() : 현재 발생한 예외 정보를 튜플로 반환
sys.prefix() : 파이썬의 설치 경로 반환
sys.exit : 현재 프로세스 종료
sys.getrefcount() : 객체를 참조하는 개수 반환
sys.modules : 현재 import되어 있는 모듈 딕셔너리 반환
sys.version : 현재 파이썬 버전 반환
-내장모듈 math
math모듈 : 수학과 관련된 모듈, 내장된 수학함수 보다 종류가 더 많고 기능이 뛰어남
제공하는 함수 :
pi : 원주율 값
e : 자연상수 값
factorial(x) : x의 팩토리얼 값 반환
sqrt(x,y) : x의 제곱근 결과 반환
exp(x) : ex의 결과를 반환
log(x) : 로그연산값 반환
sin(x) / cos(x) / tan(x) : 삼각함수값을 반환
fsum(a) : 값들의 합을 반환
예제) 함수 pow와 sqrt를 활용한 프로그램
<실행 결과>
밑변3
높이4
빗변의 길이 : 5.0
NameError : name 'sqrt' is not defined
- 내장모듈 random
random모듈 : 임의의 정수 및 실수를 생성할 때 사용
import random 후에 시작
제공하는 함수 :
seed(x) : 숫자 생성의 초기화 / 생략되면 현재 시간값이 기준
uniform(a,b) : a와 b사이의 임의의 실수를 반환
randomrange(x) : 내장함수 range의 아이템 중에서 임의로 선택해 반환
choice(seq) : 입력받은 시퀀스 객체의 임의의 아이템을 반환
sample(p,x) : k개만큼의 아이템을 p에서 추출
random() : 0.0과 1.0사이의 임의의 실수 (1제외)
gauss(m,sb) : 가우스 분포의 난수를 반환
randint(a,b) : a와 b사이의 임의의 정수를 반환 (a, b 모두 포함)
shuffle(x) : 입력 받은 시퀀스 객체를 섞음
예제) 1부터 42까지의 수 중에서 겹치지 않은 6개의 정수를 구하는 프로그램
<실행 결과>
{35, 39, 10, 13, 19, 28}
- 내장모듈 webbrowser
webbrowser모듈 : 익스플로러나 크롬과 같은 웹브라우저를 컨트롤 할 때 필요한 브라우저 모듈
제공하는 함수 :
open(url) : 해당 url 사이트를 연결
open_new(url) : 해당 url 사이트를 새 창으로 열기
open_new_tab(url) : 해당 url사이트를 새 탭에서 열기
- 내장모듈 urllib
urllib모듈 : 웹에 있는 데이터를 이용하기 위해 이를 내 컴퓨터로 가져오는 역할을 하는 모듈
하위 모듈 :
request : url을 읽고, 열고, 정보를 얻음
error : request에 의해 발생하는 예외(오류)를 포함
parse : url 구문 분석을 위한 도구를 제공
robotparser : 관리자가 민감한 정보들을 미리 적어둔 robots.tt를 분석
- 내장모듈 datetime
datetime모듈 : 날짜와 시간에 관련된 모듈
제공하는 함수 :
date : 년, 월, 일 정보 반환
time : 시간, 분, 초, 마이크로초 반환
datetime : 년, 월, 일, 시간, 분, 초 마이크로초 등을 나타낼 수 있음
datetime.date.today() : 오늘 날짜 반환
datetime.datetime.now() : 현재 시간 반환
sleep : 현재 동작 중인 프로세스 정지
strptime : 사용자가 정의한 형식으로 변경해 문자열로 반환
strftime : 사용자가 정의한 문자열 포맷을 datetime형식으로 변경
isoformat : yymmd 형태의 문자열로 반환
timedelta : 둘 지점 사이의 기간
예제) 오늘부터 100일 이후의 날짜를 구하는 프로그램
<실행 결과>
오늘은 2024-05-13 입니다
100일 후는 2024-08-21 입니다
13-2 사용자 정의 모듈과 패키지
- 사용자 정의 모듈
# calc.py 모듈을 만들기
- import를 사용하는 방법
1. 기본적인 방법
import 모듈
2. as 사용 : 모듈의 이름이 긴 경우
import 모듈명 as 줄임말
3. 모듈이 여러 개인 경우
import 모듈1, 모듈2
4. 모듈 이름 없이 함수 이름만 쓸 때
from 모듈 import 함수명
둘다 같다 !!
=
dir() : 현재 모듈 안에 정의되어 있는 변수와 함수들을 모두 볼 수 있음
__name__ : 직접 실행했을 때와 임포트 했을 때에 서로 다르게 동작하게 함
- 패키지
패키지 : 여러개의 모듈을 하나로 묶기 위해 사용
점(.)을 사용하여 파이썬 모듈을 계층적으로 관리함
A.B A : 패키지 이름, B : A패키지의 모듈
파이썬 패키지는 디렉토리와 파이썬 모듈로 이루어짐
A.A : 패키지 A의 모듈 A
A.B : 패키지 A의 모듈 B
패키지 구조 : 공동작업이나 유지보수 등 여러가지 면에서 유리, 다른 모듈과 이름이 겹치더라도 안전함
파이썬 3.3 이후부터는 __init__.py 파일이어도 패키지임을 인식
보통 __init__.py 파일에는 패키지를 초기화하는 모듈이 있음
'공부 > 【Python】' 카테고리의 다른 글
【파이썬프로그래밍】 14주차- 유용한 라이브러리 (0) | 2024.05.13 |
---|---|
【파이썬프로그래밍】 12주차- 객체지향과 클래스 (0) | 2024.05.13 |
【파이썬프로그래밍】 11주차- 예외 처리 (0) | 2024.05.11 |
【파이썬프로그래밍】 10주차- 함수 (0) | 2024.05.11 |
【파이썬프로그래밍】 9주차- 파일쓰기 (0) | 2024.05.11 |