티스토리 뷰
[1] 모듈과 패키지
(1) 모듈 : 어떤 대상의 부분 혹은 조각(작은 프로그램 조각들)
- 프로그램 모듈화 시키면 다른 프로그램을 이용하기 쉬움
- 예시: API, Random(Built-in Module)
- 파이썬의 모듈 == .py파일
- 사용: 같은 폴더에 .py파일(모듈)저장 후 import문 사용해서 모듈을 호출, 사용은 모둘명.함수명(파라미터)
같은 폴더 내 | |
파일1: fah_converter.py | 파일2: app.py |
def convert_c_to_f(cel_value): return cel_value * 9.0 / 5 + 32 test1 = "GGG" print(test1) if __name__ == '__main__': test2 = "HHHH" print(test2) |
import fah_converter # GGG출력, 방지위해 if __name__필요 print(fah_converter.convert_c_to_f(42.5)) # 108.5 => HHHH는 출력안됨! *실행 => __pycache__ 폴더 생성됨 컴파일된 파일, 코드를 쉽게 호출 할 수 있도록 기계어로 번역 |
(2) 사용법
호출 | 사용 |
import 모듈명 import 모듈명 as 별명 |
모듈명.함수/클래스명(매개변수) => 어디서 혼 함수인지 알 수 있어서 좋음 |
from 모듈명 import 함수/클래스명 # 특정 함수/클래스명만 가져옴 from 모듈명 import * # 모든 함수/클래스 가져온다는 뜻 |
함수명(매개변수) 바로사용 가능 => But 어디서 혼 함수인지 알기 어려워 모듈명.함수/클래스명(매개변수) 사용 권장 |
(3) Built-in Module
호출 | 사용 |
난수 : import random | print(random.randint(1,100)) # 23 |
시간 : import time | print(time.localtime()) # time.struct_time(tm_year=2024, tm_mon=6, tm_mday=17, tm_hour=9, tm_min=31, tm_sec=37, tm_wday=0, tm_yday=169, tm_isdst=1) |
웹 : import urllib.request | response = urllib.request.urlopen("http://thetemlab.io") print(response.read()) |
[2] 패키지 => 패키지를 공유하면 프로젝트
- 하나의 대형 프로젝트를 만드는 코드의 묶음
- 다양한 모듈들의 합, 폴더로 연결됨 => 폴더자체를 실행시킬 수 있음
- 폴더별로 __init__.py 구성: 현재 폴더가 패키지임을 알리는 초기화 스크립트
- 다양한 오픈 소스들이 모두 패키지로 관리됨
- 패키지 내에서 다른 폴더의 모듈을 부를 때 상대 참조로 호출하는 방법
: . 현재 디렉토리 기준, .. 부모 디렉토리 기준
예) 절대참조 from game.graphic.render import render_test()
상대참조 from .render import render_test()
- 패키지 만드는 법:
폴더생성 | 하위폴더 | 폴더 내 파일 | 파일 내 코드 |
game | __init__.py | __all__ = ["image","sound","stage"] # 앞으로 사용할 모듈명 from . import image from . import sound from . import stage |
|
__main__.py | from sound import echo if __main__ == '__main__': print("Hello Game") print(echo.echo_play()) |
||
image | __init__.py | __all__ = ["character","object_type"] # 앞으로 사용할 모듈명 from . import character from . import object_type |
|
character.py | |||
object_type.py | |||
sound | __init__.py | __all__ = ["echo","bgm"] # 앞으로 사용할 모듈명 from . import echo from . import bgm |
|
echo.py | def echo_play(): return "Hello Echo" |
||
bgm.py | |||
stage | __init__.py | __all__ = ["main","sub"] # 앞으로 사용할 모듈명 from . import main from . import sub |
|
main.py | |||
sub.py |
[3] 오픈소스 라이브러리
- 가상환경 설정하기(패키지 여러개 설치할 때 충돌 방지)
: 필요한 패키지만 설치하는 환경(기본 인터프리터 + 프로젝트 종류별 패키지 설치)
- 패키지 관리도구 : virtualenv(레퍼런스+패키지개수, pip로 설치가능)와 conda(윈도우에서 장점) 많이 씀
※ 출처 : 네이버 부스트코스 - 인공지능 기초 다지기(https://www.boostcourse.org/ai100)
'AI > Python' 카테고리의 다른 글
[프로그래머스 입문] dict, math,sort와 sorted에 key값 넣기, 이진수와 십진수 변환, 이차원 배열의 최댓값과 최솟값 (0) | 2024.06.18 |
---|---|
[python] 예외처리, 파일 다루기 (0) | 2024.06.18 |
[python] 클래스와 객체 -2(상속, 다형성, 가시성, 데코레이터) (2) | 2024.06.17 |
[프로그래머스 기초] 헷갈리는 개념 정리(문자열, 리스트 : 원본 변경 함수, 새로운 값 return 해주는 함수, 메모리 주소 값 출력, 값 출력) (2) | 2024.06.16 |
[python] 클래스와 객체 -1(속성, 함수, 인스턴스) (2) | 2024.06.16 |
- Total
- Today
- Yesterday
- 30분
- 뉴스
- 운동
- 갓생
- 아침
- 다이어트
- Ai
- opic
- 티스토리챌린지
- 오픽
- 영어회화
- 빅데이터 분석기사
- 루틴
- IH
- 프로그래머스
- 오블완
- C언어
- 스크랩
- SQL
- 고득점 Kit
- llm
- ChatGPT
- 기초
- Python
- 경제
- 실기
- 습관
- 줄넘기
- 아침운동
- 미라클모닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |