본문 바로가기

Dev/AI 인공지능

[AI] 파이썬의 모듈과 프로젝트 (패키지) | 다른 사람이 작성한 코드를 사용하기

728x90
반응형

모듈 (Module)

  • 프로그램 내 작은 프로그램의 조각들 (파이썬의 moudle은 py파일을 의미)
  • 객체를 포함하는 단위
  • 모듈들을 모아서 하나의 큰 프로그램을 개발할 수 있음
  • Built-in Moudle도 여러 종류가 있음 (예: random, sys, os , math 등 ... )

 

namespace

  • 모듈을 호출할 때 범위를 정하는 법
  • 모든 걸 호출할 수 도 있지만 필요한 내용만 골라서 호출할 수 있음
  • 이를 위해 from, import as 등을 사용 
  • 호출 메소드명에 *를 작성하면 모든 함수 또는 클래스를 호출한다는 의미!
  • from 코드파일명 import 호출메소드명 as 별칭
  • 가독성을 위해 모듈의 좋은 검색 키워드를 사용해두면 좋을 것 -- ChatGPT한테 물어보거나 다른 사람의 코드 참조해도 좋을듯

 

 

 


 

패키지 (Package)

  • 모듈을 모아놓은 단위, 하나의 프로그램
  • 다양한 모듈, 즉 코드 파일들의 합이기 때문에 폴더로 연결됨
  • __init__, __main__ 등 키워드 파일명이 사용됨
  • 다양한 오픈 소스들이 모두 패키지로 관리됨

 

게임 패키지의 구성 예시 (네이버 부스트캠프 AI Tech 5기 강의자료에 포함된 자료입니다)

 

  • 패키지 내에서 다른 폴더의 모듈을 부를 때
    • 상대 참조로 호출: 현재 디렉토리(.) 혹은 부모디렉토리 (..)를 기준으로 호출

 

  • 다양한 프로젝트와 패키지를 사용할 때 
    • 서로 충돌이 나지 않도록 가상환경을 설정해주는 것이 좋음 (Virtual Enviroment)
    • 프로젝트 진행 시 필요한 패키지만 설치하는 환경
    • 다양한 패키지 관리 도구가 있음 (virtualenv, pip, conda 등 ... )
    • conda는 파이썬 코드가 아닌 다른 코드를 사용할 때도 알아서 컴파일된 파일을 자동으로 다운로드 해줌
    • 그 외 유용한 패키지: matplotlib, tqdm 등 ...

 

 

본 포스트는 부트코스 내 네이버 부스트캠프 AI Tech 5기 강의를 토대로 작성되었습니다

 

728x90
반응형