본문 바로가기
Python/Python 기초

[Python] 파이썬 모듈 사용하기

by snow_white 2022. 3. 15.

모듈이란?

여러 코드를 묶어 다른 곳에서 재사용 할 수 있는 코드의 모음

 

내장모듈
- 파이썬에서 기본적으로 제공되는 모듈
- 다양한 모듈을 제공
  문자열(string), 날짜(date), 시간(time), 수학(math), 랜덤(random), 파일(file), sqlite3, os, sys, xml, http 등 약 200개 정도의 다양한 모듈들 제공
- 패키지 전체를 불러와서 사용할 때 파일 가장 윗 줄에 import 함수 구문 입력
- 패키지의 특정 모듈을 사용할 때 파일 가장 윗 줄에 from 모듈 import 함수
- from : 특정 모듈을 지정해서 메모리에 탑재할 때 사용하는 구문
- import : 특정 함수를 지정해서 메모리에 탑재할 때 사용하는 구문

사용자 정의 모듈
- 파이썬에서 기본적으로 제공하는 모듈 외 사용자가 직접 작성한 모듈
- 모듈 작성 및 제공 가능

모듈은 메모리에 한 번만 로딩된다.
참조하는 별칭은 여러 개 있을 수 있다.

import testmodule as test1
import testmodule as test2

test1.value = 100
test2.printValue() # 100

 

내장모듈 사용하기

from IPython.display import Image
Image('https://thinkreen.github.io/assets/images/FunctionModuleClass.png',width=600)

 

from <모듈> import *

모듈 내 이름 중 _로 시작하는 어트리뷰트를 제외하고 모든 어트리뷰트를 현재의 이름 공간으로 임포트 가능

# numpy라는 패키지를 받아 그 안에 있는 random이라는 모듈을 사용하겠다
from numpy import random
from numpy import * # __init__ 패키지 안에 있는 모든 모듈
import numpy # 패키지 가져온다
import numpy as np

time 모듈을 가져와 sleep() 함수 구현

import time

print('지금부터 5초 동안 정지합니다..')
time.sleep(5)
print('종료..')
from urllib import request
target = request.urlopen('https://www.youtube.com/')
page = target.read()

print(page)

 

사용자 정의 모듈 사용하기

mymod.py 파일로 모듈 생성

%%writefile mymod.py
PI = 3.14

def num_input():
    result = input('숫자입력')
    return float(result)
def get_circum(radius): # 원주 구하기
    return 2 * PI * radius
def get_circum_area(radius): # 원 넙이 구하기
    return PI * radius * radius
'''
새 파일 만듦(함수(모듈) 3개짜리)
'''

mymod 모듈 불러오기

import mymod as mm

radius = mm.num_input() # 호출하면 숫자 입력하라고 함

print(mm.get_circum(radius))
print(mm.get_circum_area(radius))

'''
숫자입력3
18.84
28.259999999999998
'''

mymod의 3가지 모듈 불러오기

from mymod import num_input, PI, get_circum, get_circum_area

radius = num_input() # 호출하면 숫자 입력하라고 함

print(get_circum(radius))
print(get_circum_area(radius))

 

엔트리 포인트

다른 사람들이 작성한 파이썬 코드를 보면, name == main 으로 작성된 코드를 많이 볼 수 있다.

파이썬 코드에서는 name 라는 내장변수를 사용할 수 있는데
name수 안에 있는 값을 출력해보면 두가지로 출력될 수 있다. 

1) 'main ' (엔트리 포인트 모듈일 때, 실제 실행되고 있는 모듈일 때)
2) 모듈명

print("mymod의  __ name__ 출력하기 ::: ", mm.__name__) # mymod  직접 실행 대상이 아닌 모듈이름으로 출력됨
# mymod의  __ name__ 출력하기 :::  mymod

 

 

모듈 로딩을 위한 환경 변수 등록은?

 

윈도우 환경 변수 등록

1. 시스템 속성

2. 고급 → 환경변수 클릭

3. PYTHONPATH 환경변수에 등록된 위치

 

sys.path.append()로 경로 추가

sys.path.remove()로 경로 제거

 

 

'Python > Python 기초' 카테고리의 다른 글

[Python] 예외처리  (0) 2022.03.15
[Python] 상속과 다형성  (0) 2022.03.15
[Python] 클래스 | 정적 메소드, private 멤버  (0) 2022.03.15
[Python] 클래스 정의와 인스턴스 생성  (0) 2022.03.15
[Python] 함수  (0) 2022.03.12

댓글