본문 바로가기
Python_Wiki/Python_Syntax

파이썬 기본 외장 함수(Standard Library Functions)

by yj-data 2025. 7. 11.

파이썬 표준 라이브러리 모듈에 포함된 함수. 모듈은 import해서 사용함. 외부 라이브러리는 !pip install 라이브러리명 으로 설치. 표준 라이브러리는 이미 설치되어 있는 모듈.

 

math 

import math

math.pi	원주율
math.e	자연상수
abs(x)	절댓값(내장함수)
round(x)	반올림(내장함수)
math.ceil(x)	올림
math.floor(x)	내림
math.factorial(x)	팩토리얼
math.pow(x)	제곱 연산
math.sqrt(x)	제곱근 연산
#print(math.sqrt(16)) #4

 

random

import random

random.random()	             #0~1 사이의 실수형의 수를 반환합니다.
random.randint(시작, 끝)	  #특정 범위 안의 랜덤한 정수를 반환합니다.
random.choice(리스트)	      #리스트 중에 랜덤하게 요소를 뽑습니다.
random.sample(리스트, 갯수)	#리스트 중 입력한 갯수만큼 랜덤하게 요소를 뽑습니다.
random.shuffle(리스트)	      #리스트를 랜덤하게 섞습니다.

 

datetime

#datetime 클래스: 날짜와 시간을 저장합니다.
from datetime import datetime
from pytz import timezone                  #타임존 불러오는 라이브러리 
datetime.now()	                           #현재 시각을 반환합니다. (timezone에 유의합니다.)
x = datetime.now(timezone('Asia/Seoul'))
x.year, month, day, hour, minute, second, microsecond	#날짜, 시간 값을 반환합니다.
x.weekday()                                # {0:월, 1:화, 2:수, 3:목, 4:금, 5:토, 6:일}
x.date()                                   #연월일로 이루어진 날짜 객체를 반환합니다.
x.time()	                           #시간 객체를 반환합니다.
x.strftime('날짜형식')	                   #날짜와 시간 정보를 문자열로 변환합니다.
datetime.strptime(문자열, 날짜형식)         #문자열을 날짜로 변환합니다.
#날짜형식: %Y-%m-%d 등

#timedelta 클래스: 시간 구간을 저장하며 날짜 연산을 할 때 쓰입니다.
from datetime import timedelta
x - timedelta(days=7)      #일주일 뒤의 날짜가 나옴
(x + timedelta(days=30)).strftime('%Y-%m-%d') #30일 뒤의 날짜이며, strftime으로 형식 정해준 것

from dateutil.relativedelta import relativedelta
x - relativedelta(months=1)     #일,월,연도를 자유자재로 옮겨가며 계산 가능함

x + relativedelta(years=2)

 

os

import os

print(os.getcwd())  # 현재 작업 디렉터리
# os.mkdir("test_folder")  # 새로운 디렉터리 생성
#mkdir => make directory

 

sys

import sys

print(sys.version)  # 파이썬 버전 정보
#3.11.11 (main, Dec  4 2024, 08:55:07) [GCC 11.4.0]

print(sys.path)     # 모듈 검색 경로
#['/content', '/env/python', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '', '/usr/local/lib/python3.11/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.11/dist-packages/IPython/extensions', '/root/.ipython']

#어떤 컴파일러를 썼는지, 어떤 경로로 설치했는지 등에 대한 정보를 얻을 수 있음

 

json

import json

data = {"name": "Alice", "age": 25}
print(type(data))


json_data = json.dumps(data)  # JSON 문자열로 변환
print(json_data, type(json_data))  # {"name": "Alice", "age": 25}

 

numpy

#벡터 / 행렬 연산을 도와주는 라이브러리
import numpy as np
ls = random.sample([i for i in range(1000)],100)
print(np.mean(ls))
print(np.var(ls))
print(np.std(ls))
print(np.sum(ls))

 

counter

from collections import Counter

ls = ['a','a','b','b','b','c','d','d','d','d']
Counter(ls) #Counter({'a': 2, 'b': 3, 'c': 1, 'd': 4}) #각요소가 몇개인지 계산해서 딕셔너리 형식으로 반환

count_dic = Counter(ls)
print(count_dic.most_common()) #most_common() : 가장 빈도가 높은 요소를 순서대로 뽑아주는 함수 #[('d', 4), ('b', 3), ('a', 2), ('c', 1)]
print(count_dic.most_common(1)) #most_common(x) : 가장 빈도가 높은 순서대로 x개 요소를 뽑아줌 #[('d', 4)]
print(count_dic.most_common(2)) #[('d', 4), ('b', 3)]