[Python] 7. 파이썬의 모듈 및 사용자 정의 모듈

2021. 10. 26. 21:54Python/구조 공부하기

728x90
반응형
모듈(module) : 여러 코드를 묶어, 다른 곳에서 재사용 할 수 있는 '코드 뭉치'
 - 내장 모듈 : 기본적으로 제공되는 모듈
 - 사용자 정의 모듈 : 프로그래머(개발자 등)가 직접 정의/작성한 모듈
# math라는 모듈 사용해보기
import math

if __name__ == "__main__":
	print(math.log(100)) # 밑이 2인 log100 값을 출력해줌
    print(math.pi) # π(파이)값을 출력해줌
    print(dir(math.pi)) # math 모듈에 포함된 모든 함수를 출력해줌

 

# 사용자 정의 모듈 작성 및 사용해보기
# setctrl.py 모듈

from functools import *

def intersect(*ar): # 교집합을 return하는 함수
	return reduce(__intersectSC, ar)
    
def __intersectSC(listX, listY):
	setList = []
    for x in ListX:
    	if x in ListY:
        	setList.append(x)
    return setList

def difference(*ar): # 차집합을 return하는 함수
	setList = []
    intersectSet = intersect(*ar)
    unionSet = union(*ar)
    for x in unionSet:
    	if not x in intersectSet:
        	setList.append(x)
    return setList

def union(*ar): # 합집합을 return하는 함수
	setList = []
    for item in ar:
    	for x in item:
        	if not x in setList:
            	setList.append(x)
    return setList
import setctrl # python이 설치된 폴더 내에 있는 모듈 폴더에 setctrl.py파일이 있어야 가능

if __name__ == "__main__":
	print(dir(setctrl)) # setctrl에 정의된 교/차/합집합 함수의 이름이 출력됨
    
    groupA = [1, 2, 4, 7, 14]
    groupB = [4, 5, 6, 7, 15]
    
    print(setctrl.union(groupA, groupB)) # groupA와 groupB의 합집합이 출력됨