반응형

유용한 스탠다드 모듈들

 

모듈에 대한 자세한 정보 : https://docs.python.org/ko/3/library/

 

파이썬 표준 라이브러리 — Python 3.9.5 문서

파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합

docs.python.org

 

math

기본적인 수학 모듈입니다. 여러 수학적인 함수를 제공해 줍니다.

INPUT OUTPUT
import math

#코사인 함수 (모든 삼각함수는 라디안을 사용합니다.)
print(math.cos(0))


로그 함수
print(math.log10(100)) 
1.0

2.0
random

랜덤한 숫자를 생성하기 위한 다양한 함수를 제공해 줍니다.

INPUT OUTPUT
import random

#랜덤한 정수 1 <= N <= 20
print(random.randint(120))


랜덤한 소수 0 <= x <= 1
print(random.uniform(01))
18

0.333614658551853
datetime

날짜와 시간을 다루기 위한 다양한 '클래스'를 갖추고 있습니다.

INPUT OUTPUT
import datetime

현재 시간과 날짜
today = datetime.datetime.now()

print(today)

출력값을 "요일월 일 연도"로 포매팅
print(today.strftime("%A, %B %dth %Y"))


특정 시간과 날짜
pi_day = datetime.datetime(20218113615)

print(pi_day)

 datetime의 차이
print(today - pi_day)
2021-06-16 07:55:02.716950
Wednesday, June 16th 2021
2021-08-01 13:06:15
-47 days, 18:48:47.716950
os

Operation system, 즉 운영체제의 약자입니다.

os모듈을 통해서 파이썬으로 운영체제를 조작하거나 운영체제에 대한 정보를 가져올 수 있습니다.

INPUT OUTPUT
import os

현재 어떤 계정으로 로그인 돼있는지 확인
print(os.getlogin())


현재 파일의 디렉토리 확인
print(os.getcwd())


현재 프로세스 ID 확인
print(os.getpid())
Lee
C:\Users\Desktop\python
31466
os.path

파일 경로를 다룰 때 쓰입니다.

INPUT OUTPUT
import os.path

프로젝트 디렉토리 경로 '/Users/PycharmProjects/standard_modules'
현재 파일 경로 '/Users/PycharmProjects/standard_modules/main.py'

주어진 경로를 절대 경로로
print(os.path.abspath('..'))


주어진 경로를 현재 디렉토리를 기준으로 한 상대 경로로
print(os.path.relpath('/Users/PycharmProjects'))


주어진 경로들을 병합
print(os.path.join('/Users/PycharmProjects''standard_modules'))
C:\Users\Desktop
..\..\..\..\PycharmProjects
/Users/PycharmProjects\standard_modules
re

프로그래밍에서 Regular Expression (RegEx, re, 한국어로는 정규 표현식)은 특정한 규칙/패턴을 가진 문자열을 표현하는데 사용됩니다.

INPUT OUTPUT
import re

알파벳으로 구성된 단어들만 매칭
pattern = re.compile('^[A-Za-z]+$')

print(pattern.match('I'))
print(pattern.match('love'))
print(pattern.match('python3'))

print()

숫자가 포함된 단어들만 매칭
pattern = re.compile('.*\d+')

print(pattern.match('I'))
print(pattern.match('love'))
print(pattern.match('python3'))
<re.Match object; span=(0, 1), match='I'>
<re.Match object; span=(0, 4), match='love'>
None

None
None
<re.Match object; span=(0, 7), match='python3'>

Process finished with exit code 0
pickle

파이썬 오브젝트(객체)를 바이트(byte) 형식으로 바꿔서 파일에 저장할 수 있고

저장된 오브젝트를 읽어 올수도 있습니다.

INPUT OUTPUT
import pickle

딕셔너리 오브젝트
obj = {'my''dictionary'}


# obj filename.pickle 파일에 저장
with open('filename.pickle''wb'as f:

pickle.dump(objf)

# filename.pickle에 있는 오브젝트를 읽어옴
with open('filename.pickle''rb'as f:

obj = pickle.load(f)

print(obj)
{'my': 'dictionary'}
json

pickle과 비슷하지만 오브젝트를 JSON형식으로 바꿔줍니다. 

JSON 형식에 맞는 데이터(기본데이터 타입들, 리스트, 딕셔너리)만 바꿀 수 있습니다.

INPUT OUTPUT
import json

딕셔너리 오브젝트
obj = {'my''dictionary'}


# obj filename.json 파일에 저장
with open('filename.json''w'as f:

json.dump(objf)

# filename.json에 있는 오브젝트를 읽어옴
with open('filename.json''r'as f:

obj = json.load(f)

print(obj)
{'my': 'dictionary'}
copy

파이썬 오브젝트를 복사할 때 쓰입니다.

INPUT OUTPUT
import copy

# '=' 연산자는 실제로 리스트를 복사하지 않음
# 리스트를 복사하려면 슬라이싱을 사용하거나 copy.copy() 함수를 사용해야 함
a = [1, 2, 3]

b = a
c = a[:]
d = copy.copy(a)
a[0] = 4
print(a, b, c, d)


# 하지만 오브젝트 안에 오브젝트가 있는 경우 copy.copy() 함수는 가장 바깥에 있는 오브젝트만 복사함
# 오브젝트를 재귀적으로 복사하려면 copy.deepcopy() 함수를 사용해야 함
a = [[1,2,3], [4,5,6], [7,8,9]]

b = copy.copy(a)
c = copy.deepcopy(a)
a[0][0] = 4
print(a, b, c)
[4, 2, 3] [4, 2, 3] [1, 2, 3] [1, 2, 3]
[[4, 2, 3], [4, 5, 6], [7, 8, 9]] 
[[4, 2, 3], [4, 5, 6], [7, 8, 9]] 
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sqlite3

파이썬에서 SQLite 데이터베이스를 사용할 수 있습니다.

INPUT
import sqlite3

# 데이터베이스 연결
conn = sqlite3.connect('example.db')


# SQL 문 실행
c = conn.cursor()

c.execute('''SELECT ... FROM ... WHERE ... ''')

# 가져온 데이터를 파이썬에서 사용
rows = c.fetchall()

for row in rows:
print(row)

# 연결 종료
conn.close()

 

반응형

'Python' 카테고리의 다른 글

[Python]패키지(Package)  (0) 2021.06.24
[Python]스크립트와 모듈 정리  (0) 2021.06.21
[Python]모듈(Module)  (0) 2021.06.19
[Python]에일리어싱(Aliasing)  (0) 2021.06.18
[Python]sorted 와 sort의 차이  (0) 2021.06.17

+ Recent posts