파이썬 모듈

Variety_·2021년 10월 11일
0

Python

목록 보기
9/12

모듈


  • 모듈 : 함수가 선언되어 있는 파이썬 파일, 이미 만들어진 훌륭한 기능으로 사용자가 쉽게 사용 가능하다.
    • 내부 모듈 : 파이썬 설치 시 기본적으로 사용할 수 있는 모듈
    • 외부 모듈 : 별도 설치 후 사용할 수 있는 모듈
    • 사용자 모듈 : 사용자가 직접 만든 모듈

모듈 만들기

모듈은 특정 기능을 가지고 있는 파이썬 파일이기에 파이썬 파일만 만들면 끝임

def add(n1, n2):
    return n1 + n2

위처럼 함수를 만들고 calculator.py 로 저장 후 import calculator 후 calculator.add 로 사용가능.

# 로또 번호(6개)를 출력하는 모듈 제작

import random 

def getLottoNumber():
    result = random.sample(range(1, 46), 6)
    
    return result
# 이후 lottoMachine이라는 이름으로 저장

import lottoMachine

lottoNumber = lottoMachine.getLottoNumbers()
# 문자열 거꾸로 반환하는 모듈

def reverseStr(str):
    reversedString = ''
    for c in str:
        reverseString = c + reversedString
  • 쥬피터노트북에 바로 저장하는 법

# 아래와 같이 write해줌 
%%writefile ./set_matplotlib_hangul.py

import platform
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc

path = "c:/Windows/Fonts/malgun.ttf"

if platform.system() == "Darwin":
    print("Hangul OK in your MAC!!!")
    rc("font", family="Arial Unicode MS")
elif platform.system() == "Windows":
    font_name = font_manager.FontProperties(fname=path).get_name()
    rc("font", family=font_name)
else:
    print("Unknown systme.. sorry..")
plt.rcParams["axes.unicode_minus"] = False
  • 모듈 사용법

    • import 키워드를 이용해서 모듈을 임포트. ex) import randeom
    • as 이용해서 모듈 이름을 단축 시킬 수 있다. ex) import tensorflow as tf
    • from ~ as 키워드를 이용해서 모듈의 특정 기능만 사용할 수 있다.
    from calculator import add
    #이렇게 특정기능만 가져오면 함수명만 이용해서 바로 가용가능. 
    add(10, 20)
    from calculator import *
    # 모든 기능을 다 가져옴!, import calculator와 차이점은 바로 함수명만으로 사용 가능
    from calculator import add, sub
    # 위처럼 두 개 이상 가져올 수도 있음
  • 전역변수 __name__ 을 이용한 실행파일 지정.

    • __name__ 에는 모듈 이름이 저장되거나 main이 저장된다.
    divModule.py__name__='divModule'
    module.py__name='__main' 실행(메인) 파일

    실행파일인 경우 main이 저장됨.

def add(n1, n2):
    return n1 + n2

if __name__ == '__main__':
    print(f"__name__ : {__name__}")
  • 위 처럼하면 addModule이 메인일경우만 출력하고 다른곳이 메인이면출력하지않음
    조건문을 걸어주지않고 프린트문만 있으면 메인에서 add를 불러와 실행시 __name__:addModule이 뜸

  • 패키지 : 관련있는 모듈을 그룹으로 묶어서 관리

site-packages : site-packages에 있는 모듈은 어디서나 사용할 수 있다.
자기자신만 갖고있는 디렉토리에서도 sit-packages에 옮겨놓기만 하면 다른 디렉토리에서도 사용가능

# 시스템에 관련한 간단한 정보불러오는 모듈
import sys
# sys.path : 모듈이 들어있는 경로 나열
for path in sys.path:
    print(paht)
  • 자주사용하는 모듈

    • math모듈

      절댓값 : math.fabs(x)

      올림 : math.ceil(5.21)

      내림 : math.floor(5.21)

      버림 : math.truch(5.21)

      최대공약수 : math.gcd(n1, n2)

    • random 모듈

    • time 모듈

      현재 시스템의 시간을 알려줌 : lt = time.localtime()

      lt.tm_year, lt.tm_mon, lt.tm_wday 등으로 년,월,요일 등 출력가능

0개의 댓글