BE/Python

[Python] 모듈(module) 사용하기

콩다영 2023. 11. 13.
728x90

▷ 모듈(module)이란?

: 한 번 구현한 파이썬 코드를 다른 파이썬 파일의 코드에서 공유해서 사용할 수 있도록 하기 위해 모듈을 활용.

 

여러 함수를 가지고 있는 집합체로 여러 기능들이 뭉쳐진 하나의 .py파일이다.

Python 기본 내장되어 있는 표준 모듈과 직접 만든 외부 모듈이 있고, 다른 파일에서 import 해서 사용한다.

 

 

 

▼  모듈 불러오는 방법  

 

    import 모듈이름  

      - import 파일명에 .py 붙이지 않기.

      - import 하려는 파일은 같은 폴더에 있어야 된다 !

 

    from 모듈이름 import 함수이름

from calc_module import add

# 모듈에서 여러 개의 함수를 가져올 때
from calc_module import add, sub

# 모듈에서 함수 전체를 가져올 때
# 하지만 별표(*)를 쓰면 함수의 출처가 불분명해져서 사용을 권장하지 않는다.
from calc_module import *

 

    import 모듈이름 as 이름

import calc_module as calc

 


스탠다드 라이브러리(standard library)

 

  import random        

▼ randint(a, b) : 두 수 사이의 랜덤한 정수를 리턴하는 함수.

                                  a ≤ N ≤ b를 만족하는 랜덤한 정수 N을 리턴.

 

▼ uniform(a, b) : 두 수 사이의 랜덤한 소수를 리턴하는 함수.

                                   a ≤ N ≤ b를 만족하는 랜덤한 소수 N을 리턴.

 

▼ randrange(a, b) : 두 수 사이의 랜덤한 소수를 리턴하는 함수.

                                    a ≤ N < b를 만족하는 랜덤한 정수 N을 리턴. (b 미포함)

import random

print(random.randint(1, 50))     # 1 <= N <= 50  , N:정수
print(random.uniform(1, 50))     # 1 <= N <= 50  , N:소수
print(random.randrange(1, 50))   # 1 <= N < 50   , N:정수


# step만큼 지정된 간격으로 임의의 정수 리턴
random.randrange(a,b,step)

 

 

 import math        

▼ floor(n) : 내림 함수. n의 소수점 제거.

▼ ceil(n) : 올림 함수. n의 소수점 제거 후 +1.

▼ fabs(n) : n의 절댓값을 반환.

▼ sqrt(n) : n의 제곱근 반환.

▼ factorial(n) : n의 팩토리얼 반환.

import math

print(math.floor(3.141592))      # 내림 : 3
print(math.ceil(3.141592))       # 올림 : 4
print(math.sqrt(9))              # 9의 제곱근
from math import factorial

print(math.factorial(5))        # 팩토리얼 : 5! = 120

 

 

  import datetime       

▼ now() : 코드를 실행한 순간의 날짜와 시간을 리턴.

▼ 두 datetime 값 사이의 기간을 조회하고 싶을 때 : 뺄셈( - )으로 기간 구하기 가능.

     두 datetime 값을 빼면, 날짜 간의 차이를 나타내는  timedelta라는 타입이 나온다.

     반대로 timedelta를 생성해서 datetime 값에 더할 수 도 있다.

today = datetime.datetime.now()     # 현재 날짜와 시간.
check_time = datetime.datetime(2023, 11, 1, 12, 30, 15)

print(today)
print(today - check_time)           # 두 datetime의 차
print(type(today - check_time))     # timedelta

 

▼ datetime 값에서 세부단위 값 추출

today = datetime.datetime.now()

print(today)
print(today.year)         # 연도
print(today.month)        # 월
print(today.day)          # 일
print(today.hour)         # 시
print(today.minute)       # 분
print(today.second)       # 초
print(today.microsecond)  # 마이크로초

 

▼ datetime 포매팅 _ strftime() 함수 사용.

today = datetime.datetime.now()

print(today)
print(today.strftime("%A, %B %dth %Y"))

  

 [ 포맷코드표 ]   

포맷 코드 설명 예시
%a 요일 (짧은 버전) Sat
%A 요일 (풀 버전) Saturday
%w 요일 (숫자 버전, 0~6, 0:일요일) 6
%d 일 (01~31) 11
%b 월 (짧은 버전) Nov
%B 월 (풀 버전) November
%m 월 (숫자 버전, 01~12) 11
%y 연도 (짧은 버전) 23
%Y 연도 (풀 버전) 2023
%H 시간(00~23) 15
%I 시간(00~12) 10
%p AM / PM AM
%M 분(00~59) 12
%S 초(00~59) 34
%f 마이크로초(000000~999999) 123456
%Z 표준시간대 PST

 

 

그 외 기타 파이썬 표준 라이브러리.

파이썬은 기본 내장되어 있는 표준 모듈이 사용자들로부터 자주 업데이트 되어서 표준 모듈이 많아 사용하기 편리한 것 같다 ! 

시간 날 때 종종 파이썬 표준 라이브러리를 봐두면 필요한 상황에서 표준 라이브러리를 유용하게 사용할 수 있을 것이다.

 

728x90
반응형

댓글