일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CS
- 자바스크립트
- python
- react
- sql
- 고득점Kit
- typescript
- 프로그래머스
- 카카오
- 동적계획법
- 프로그래밍
- Level3
- dp
- Doitvue.js입문
- 파이썬
- 웹프로그래밍
- VUE
- javascript
- 백준
- Level2
- LeetCode
- 배열
- C++
- 리트코드
- 리액트
- OS
- 코테연습
- web
- Level1
- Medium
- Today
- Total
[python] 모듈 본문
모듈
- 미리 만들어진 코드를 가져와 쓰는 방법
- import 모듈이름
-
사용 방법: 모듈이름.모듈안의 구성요소
math.pi random.choice()
모듈의 예
-
import math
- 수학과 관련된 기능
-
import random
- 무작위와 관련된 기능
-
import urllib.request
- 인터넷의 내용을 가져오는 기능
- 크롤링할 때 쓰면 되겠다
def get_web(url):
import urllib.request
response = urllib.request.urlopen(url)
data = response.read()
decoded = data.decode('utf-8')
return decoded
url = input('url?')
content = get_web(url)
print(content)
모듈 만들기
- 사용할 함수, 메소드 코드를 작성한 모듈 파일을 생성
- 모듈이 쓰일 파일에 import를 사용하여 모듈을 호출
- 사용 방법은 기존의 모듈과 동일
- 주의할 점은 사용자가 만든 모듈과 모듈을 쓸 파일이 같은 폴더에 있어야 한다.
- 만든 모듈 사용하기
import my_module
my_module.method()
- 함수만 따로 가져오고 싶을 때
from my_module import *
#혹은
from my_module import method
- if __name__ == "__main__": 이 파일이 직접 실행되었을 경우에만 참.
- 파이썬의 __name__ 변수는 파이썬이 내부적으로 사용하는 특별한 변수 이름이다. 만약 직접 파일을 실행할 경우 __name__ 변수에는 __main__ 값이 저장된다. 하지만 파이썬 셸이나 다른 파이썬 모듈에서 import 할 경우에 __name__ 변수에는 실행한 모듈 이름이 저장된다.
[모듈을 불러오는 또 다른 방법]
모듈이 다른 디렉토리에 있을 때
1. sys.path.append(모듈을 저장한 디렉터리) 사용하기
먼저 sys 모듈을 불러온다.
import sys
sys 모듈은 파이썬을 설치할 때 함께 설치되는 라이브러리 모듈이다. 이 sys 모듈을 사용하면 파이썬 라이브러리가 설치되어 있는 디렉터리를 확인할 수 있다.
>>> sys.path
sys.path는 파이썬 라이브러리가 설치되어 있는 디렉터리를 보여 준다. 만약 파이썬 모듈이 위 디렉터리에 들어 있다면 모듈이 저장된 디렉터리로 이동할 필요 없이 바로 불러서 사용할 수 있다.
>>> sys.path.append("만든 모듈이 있는 PATH")
sys.path.append를 사용해서 C:/doit/mymod라는 디렉터리를 sys.path에 추가한 후 다시 sys.path를 보면 가장 마지막 요소에 추가된 것을 확인할 수 있다.
2. PYTHONPATH 환경 변수 사용하기
모듈을 불러와서 사용하는 또 다른 방법으로는 PYTHONPATH 환경 변수를 사용하는 방법이 있다.
set PYTHONPATH=만든 모듈이 있는 PATH
set 명령어를 사용해 PYTHONPATH 환경 변수에 mod2.py 파일이 있는 디렉터리를 설정한다. 그러면 디렉터리 이동이나 별도의 모듈 추가 작업 없이 만든 모듈을 불러와서 사용할 수 있다.
'Python' 카테고리의 다른 글
[python] class (파이썬 클래스) 특수 메소드 (0) | 2020.07.09 |
---|---|
[python] 한글 영어 구분해서 시작 문자만 대문자로 바꾸기 title 함수 (0) | 2020.04.23 |
[python] 파이썬 for in range, for in enumerate (0) | 2020.03.23 |
[python] 파이썬 리스트 (List) (0) | 2020.03.23 |
[python] 파이썬 string 입력 (0) | 2020.03.23 |