모듈이란?
여러 코드를 묶어 다른 곳에서 재사용 할 수 있는 코드의 모음
내장모듈
- 파이썬에서 기본적으로 제공되는 모듈
- 다양한 모듈을 제공
문자열(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 |
댓글