We are Architect

23. 점프 투 파이썬 (표준 라이브러리-2) 본문

Programing/Python

23. 점프 투 파이썬 (표준 라이브러리-2)

the best infra 2024. 11. 17. 13:30

 

* math.gcd

- 최대 공약수를 쉽게 구할 수 있게 도와주는 함수.

>>> import math
>>> math.gcd(60, 100, 80)
20

 

 

* math.lcm

- 최소 공배수를 쉽게 구할수 있게 하는 함수.

>>> import math
>>> math.lcm(15,25)
75

 

 

* random

- 임의의 범위값을 무작위로 출력하는 모듈이다. 

>>> import random
>>> random.random()
0.45324822342
>>> random.randint(1,10)
5

 

 

* itertools.zip_longest

- 해당 함수는 같은 개수의 자료형을 묶는 파이썬 내장 함수인 zip함수와 똑같이 동작한다.

하지만 itertools.zip_longest() 함수는 전달한 반복 가능 객체의 길이가 다르면 긴 객체의 길이의 맞춰 fillvalue에 설정한 값을 짧은 객체에 채울 수 있다. 

 

 

 

* itertools.permutation

- 반복 가능 객체 중에서 r개를 선택한 순열을 이터레이션로 리턴하는 함수. 

- * iteration: 문장내에 컴퓨터 프로그래밍 내에 정의된 숫자만큼 반복되는 문장

 

 

* itertools.combination

- 반복 가능 객체 중에서 r개를 선택한 조합을 이터레이션으로 리턴하는 함수. 

>>> import itertools
>>> it = itertools.combinations(range(1,46), 6)
# 45개의 숫자 중 6개를 선택하는 경우의 수.

 

 

* functools.reduce

- 함수를 반복 가능한 객체의 요소에 차례대로 왼쪽에서 오른쪽으로 누적 적용하여 이 객체를 하나의 값으로 줄이는 함수. 

import functools

data = [1,2,3,4,5]
result = functools.reduce(lambda x, y: x + y, data)
print(result)
# ((((1+2)+3)+4)+5)

 

 

* operator.itemgetter

- sorted와 같은 함수의 key 매개변수에 적용하여 다양한 기준으로 정렬할 수 있도록 도와주는 모듈.

- key값 기준으로 정렬시킨다.

- 만약 밑에 예제에서 students가 튜플 값이 아닌 클래스 기반 값이면 attrgetter()를 적용하여야 한다.  

나이 순서대로 정렬된 모습

 

 

* shutil

- 파일을 복사하거나 이동할 때 사용하는 모듈.

import shutil

# C:/sad/a.txt 파일을 C:/sad/b.txt로 복사.
shutil.copy("C:/sad/a.txt", "C:/unhappy/b.txt")

# C:/sad/a.txt 파일을 C:/happy/b.txt로 이동.
shutil.move("C:/sad/a.txt", "C:/happy/b.txt")

 

 

* glob 

- 가끔 파일을 읽고 쓰는 기능이 있는 프로그램을 만들다 보면 특정 디렉터리에 있는 파일 이름을 알아야 하는데 이때 알려주는 모듈이다.

 

 

* pickle

- 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈.

>>> import pickle
>>> f = open("test.txt", 'wb') # 여기서 b는 바이너리 데이터를 처리할 때 사용.
>>> data = {1: 'python', 2: 'you need'}
>>> pickle.dump(data, f)
>>> f.close()
>>> import pickle
>>> f = open("test.txt", 'rb')
>>> data = pickle.load(f)
>>> print(data)
{2: 'you need', 1:'python'}