이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다.
우리가 머신 러닝에 사용하는 파이썬 같은 경우 이미 많은 함수들이 라이브러리를 통해 구성되어 있다.
그런데 어케 사용할까?
-모듈과 패키지
우리는 이런 모듈들을 모아 하나의 큰 프로그램을 개발하는 것이다.
프로그램을 모듈화 시키면 다른 프록램이 사용하기 쉬워진다.
이러한 모듈과 패키지를 직접 구현해보자!
위의 예시로는 각각의 모듈을 .py를 이용해서 만들게 된다.
다음에는 module_ex.py와 fah_converter.py 함수를 import 해서 사용한다.
여기서 사용되는 namespace라는 개념은 단순히 우리가 import를 해주게 된다면 그 .py 내에 있는 모든 내용을 불러오게 되는 문제를 만나게 된다. 따라서 우리는 from import를 사용하게 되면서 필요한 함수만을 불러오게 되는 것이다!
이런 것을 방지하는 방법으로는 if __name__ == '__main__'만을 사용하는 방법도 있다.
이러한 방식에는 위의 3가지 방법이 존재한다.
별칭을 정해주는 방법
모듈에서 특정 함수만 호출하는 방법
모듈에서 모든 함수 호출하는 방법이 있다.
가장 선호되는 방법으로는 별칭을 사용하는 방법이 가장 선호된다고 한다?
그 이유는 그 함수가 어디에서 왔는지 알수 있기 때문이다.
파이썬이 기본적으로 제공하는 모듈들도 있다.
random, time 등등....
그럼 우리는 수많은 모듈을 어케 알까?
- 패키지
이러한 패키지를 직접 만드는 방법에 대하여 알아보자.
패키지는 프로젝트에 많이 사용된다.!
가장 기본적으로 세부적인 기능들을 폴더로 나누어서 진행한다.
각 폴더별 필요한 모듈을 구현한다.
각각의 폴더에 __init__.py를 만들어둔다.
__init__의 용도는 아래오 같다고 한다.
py3 버전 이상에서는 안사용한다고 하지만 아직도 많이 사용한다고 한다?
참고로 리눅스에선 touch를 사용해서 .py를 만든다고 한다.
__init__.py 함수 내에는 아래와 같이 우리가 사용할 모듈에 대하여 적어둔다고 한다.
아래의 __all__ 에 적어두는 것은 우리가 사용할 폴더의 이름이다. game에 있는 init에 만든것이다.game 안에는 image, sound, stage 가 있기 때문이다.
다음은 stage 안에 있는 모든 모듈을 적는다.
같은 방식으로 해주면 된다.
이제 __main__.py를 만든다.
이건 폴더 자체를 실행시키는 것에 사용된다. 안에 구성 내용으로는
실행을 해주게 된다면? 이렇게 된다. 필요에 따라 다양한 모듈도 호출 가능하다.
폴더 자체를 호출했을때 __main__에 있는 함수들이 호출 된는 것을 볼수 있다.
참조 방식에는 상대참조 절대 참조가 있다.
상대 참조는 내가 기준 절대 참조는 다써줘야한다. ..은 부모 디렉토리 기준이다.
이제 내가 프로젝트를 진행할 때 패키지를 다루는? 법에 대하여 알아볼 것이다.
다양한 프로젝트를 하게 되면 가상환경이 필요할 것이다.
이러한 가상환경은 충돌을 방지해준다.!
두 가지가 존재하지만 요즘에는 conda를 많이 사용한다고 한다.
conda 가 더 좋은게 c로 된 언어를 컴파일이 잘되어있다고한다.
tqdm 은 for 루프의 시간을 알려준다고 한다. 이러한 강점은 내가 어디에 위치했는지를 알려준다고 한다.
'AI > python AI' 카테고리의 다른 글
python - data handling (0) | 2022.06.01 |
---|---|
python - File / Exception / Log Handling (0) | 2022.06.01 |
python - Object Oriented Programming (객체 지향 프로그래밍) (0) | 2022.06.01 |
python - function passing arguments (0) | 2022.05.30 |
python - iterable object & generator (0) | 2022.05.30 |