해당 원글은 미디엄 블로그에서 작성한 내용을 해당 블로그에 기록하기 위해 가져옴. 원글은 2021.04.10일 작성.
개요
- 이전 글 주제가 자동 투자 봇 만들기였는데 이러저러해서 결국 중간에 마무리 되었다. 그렇다고 자동 투자 봇 만들기를 포기한건 아니다.
- 다시 처음부터 차근차근 진행해 보려고한다. 그래서 생각한 첫째 단계가 파이썬 시작하기다.
- 파이썬 딥러닝, 머신러닝, 강화학습 관련하여 여러가지 책을 읽어봤는데 이게 도통 이해가 잘 안되더라. 그래서 파이썬부터 익숙해 지기로 하였다.
파이썬 코드 시작
- PyCharm으로 새 프로젝트를 생성하면 아래와 같이 생성된다.
이게 파이썬 월드라니
- 파이썬 코드 처음 시작은 __main__ 여기서부터 시작된다. 이부분이 뭔지 간략히 알아보자.
1
| if __name__ == '__main__'
|
만약 __name__이 __main__이라면!
- __name__ 변수엔 각 모듈의 이름이 들어가게 된다. hello.py 면 값이 ‘hello’. school.py면 값이 ‘school’. 하지만 이것은 다른 모듈에서 import 되어 불러졌을 때의 값이고 해당 모듈이 인터프리터 시작점이라면 __main__ 값이 들어가게 된다. 그렇다. __main__ 값은 시작점이라고 생각하면 쉽다.
Argparse
- 그렇습니다. ArgumentParser입니다. 실행시 옵션 값을 붙일 수 있습니다. 쓰임새가 매우 다양하여 내용이 길어질 것 같네요. 짧게 끝내도록 하죠.
1
2
3
4
| if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--foo', help='foo help')
args = parser.parse_args()
|
1
2
3
4
5
6
| > python main.py — help
usage: main.py [-h] [ — foo FOO]
optional arguments:
-h, — help show this help message and exit
— foo FOO foo help
|
- 오 옵션 사용법을 이렇게 help로 명시할 수 있네요. 좋군요
1
| parser.add_argument('--man', nargs='+')
|
1
2
3
4
| > python main.py — man oneman twoman threeman
oneman
twoman
threeman
|
- 옵션에 여러 값을 넣고 싶을 땐 nargs를 이용하면 되네요
1
| parser.add_argument('--use', choices=['Y', 'N'], default='N')
|
1
2
3
4
5
6
7
| > python main.py
N
> python main.py — use Y
Y
> python main.py — use K
usage: main.py [-h] [ — foo FOO] [ — use {Y,N}]
main.py: error: argument — use: invalid choice: ‘K’ (choose from ‘Y’, ‘N’)
|
- 옵션 값을 고정 된 값으로 지정할 수도 있습니다.
1
2
| parser.add_argument('--num', type=int, default=100)
|
1
2
3
4
5
6
| > python main.py — num 1
1
> python main.py — num test
usage: main.py [-h] [ — foo FOO] [ — num NUM]
main.py: error: argument — num: invalid int value: ‘test’
|
- 타입도 지정할 수 있네요.
- 잘 활용한다면 실행할 때 마다 다양한 방식으로 동작하도록 만들 수 있을 것 같네요~
- 자세한 내용은 파이썬 가이드 문서를 확인해 보세요~
argparse — 명령행 옵션, 인자와 부속 명령을 위한 파서 — Python 3.8.9 문서
한글판이라니… 가이드 문서가 한글판이라니!!