2022. 11. 30. 19:40ㆍ파이썬
#1
Module: 특정한 기능을 지닌 한 조각의 소프트웨어
예) 게임 화면을 그려주는 모듈, 게임 규칙을 담당하는 모듈
이 모듈들을 떼어다가 다른 소프트웨어에 붙힐 수 있다.
모듈의 이름은 파이썬의 파일이름과 동일하다.
헤더파일같은 느낌인듯
게임화면을 그려주는 모듈 draw.py가 있다고 가정 하고 나는 game.py를 만드는 중이다.
# game.py
# import the draw module
import draw
def play_game():
...
def main():
result = play_game()
draw.draw_game(result) #import한 모듈의 draw_game이라는 함수를 사용하려고 할 때 이렇게
# 이 스크립트가 실행될 때 main()가 실행되도록
if __name__ == '__main__':
main()
# game.py
# import the draw module
from draw import draw_game #draw.draw_game(result)하기 귀찮다할 때 사용
#using namespace와 비슷
def main():
result = play_game()
draw_game(result)
이것도 귀찮다
# game.py
# import the draw module
from draw import * #이렇게 하면 draw모듈 안의 모든 함수들을 draw. 안붙히고 사용 가능
def main():
result = play_game()
draw_game(result)
#2
모듈의 이름을 내가 쓰기 편한 걸로 바꾸어 쓰고 싶을때
import draw_textual as draw
#3
모듈을 여러번 import 해도 한번만 초기화 된다.
#4
모듈의 경로를 확인할 때 기본적으로 내가 작업중인 로컬 디렉토리와 모듈이 빌트인 되있는 디렉토리를 먼저 확인
->거기에도 없다면 환경변수에 명시된 경로를 확인
PYTHONPATH=/foo python game.py ->( 명령 프롬포트에서 하는 방법)
#5
import 커맨드가 실행되기 전에
sys.path.append("/foo") #모듈의 검색 경로 추가
저 명령어로 모듈의 위치 검색 경로 추가
(sys.path : 모듈의 검색 경로를 지정하는 리스트)
#6
built-in 모듈 탐색하기
# import the library
import urllib
# use it
dir(urllib) #이 라이브러리에 존재하는 함수들과 항목들이 어떤거 있는지 출력
help(urllib.request) #이 라이브러리에 있는 request라는 명령어가 뭔지 설명 출력
#7
package : 다양한 모듈들과 또 다른 패키지들이 모여있는 namespace,
특정 조건을 만족하는 디렉토리,
(특정 조건: __init__.py가 반드시 포함되어 있어야함.)
#8
패키지 안의 모듈을 사용하고 싶을 때
import foo.bar #foo라는 패키지 안에 bar라는 모듈을 사용하고 싶을 때
이때는 모듈 bar안의 함수를 사용하고 싶다면 foo.bar.을 입력해야함
from foo import bar #foo라는 패키지 안에 bar라는 모듈을 사용하고 싶을 때
이때는 bar.만 입력하면 됨.
#9
from foo import *
처럼 *로 모든 모듈을 import 한다고 썼지만 bar 모듈만 쓰고 싶을 때는
__init__.py를 이렇게 수정하라.
__init__.py:
__all__ = ["bar"]
'파이썬' 카테고리의 다른 글
| [pandas] 데이터 추출 (1) | 2023.11.22 |
|---|---|
| pd.Series() (0) | 2023.11.22 |
| (파이썬) Dictionaries (0) | 2022.11.30 |
| (파이썬) class and function (0) | 2022.11.30 |
| (파이썬) loops (0) | 2022.11.29 |