728x90
1) 파이썬 object에 대한 설명
먼저 파이썬 언어 자체가 '객체 지향 프로그래밍' 기반으로 만들어진 언어이다.
따라서 단순한 문자 및 숫자 변수 보두 객체로 만들어진다.
예를들어 'a'같은 경우 'str' class로 구성되어 만들어지는 객체이며,
'str' class가 가지는 attribute(상태) 나 method(행동, 함수)를 모두 활용할 수 있다.
마찬가지로 1과 같은 숫자 변수도 'int' class로 구성되고 이에 해당되는
attribute 나 method를 활용할 수 있다.
2) 파이썬 네임스페이스에 대한 설명
즉, 파이썬에서 우리가 선언하는 변수들은 모두 객체(object)이다.
따라서 하나의 변수를 선언할 때마다 그 변수명과 매칭되는 object가 존재한다.
이러한 namespace에서 각 obejct에 대한 매핑은 dictionary 형태의 자료형으로 구현된다.
파이썬에서의 namespace는 3가지로 분류된다.
- 전역 네임스페이스: 모듈별로 존재하며, 모듈 전체에서 통용될 수 있는 이름들이 소속된다.
- 지역 네임스페이스: 함수 및 메서드 별로 존재하며, 함수 내의 지역 변수들의 이름들이 소속된다.
- 빌트인 네임스페이스: 기본 내장 함수 및 기본 예외들의 이름들이 소속된다. 파이썬으로 작성된 모든 코드 범위가 포함된다.
저장된 형태의 예 하나 보면 아래와 같다.
{'a': 10, 'outer_func': <function outer_func at 0x7f90c3ac5f28>, '__package__': None, '__file__': 'namespace_example01.py', '__spec__': None, '__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f90c3a8ec18>, '__doc__': None, '__cached__': None}
3. argparse
일단 argparse는 python code를 실행할 때 , command line에서 쉽게 인자(argument)를 받아서 실행할 수 있게 만들어 놓은 라이브러리이다. 기본 구성은 다음과 같다.
##main.py
import argparse
#파서 만들기
parser = argparse.ArgumentParser(description='Argparse example')
#인자 추가하기
parser.add_argument('--learning_rate', '-lr', type=float, default=0.001, help='learning rate')
parser.add_argument('--mode', type=str, defualt='train', choices=['train', 'test'])
parser.add_argument('--no_gpu', action='store_true')
parser.add_argument('--epochs', type=int, required=True, help='number of epochs')
#내가 쓴 인자 저장
args = parser.parse_args()
#인자 사용
lr = args.lr
https://jayeon8282.tistory.com/6
4. vars()를 통한 args dictionary형태로 변환
이렇게 저장한 인자를 'vars()'를 이용해 dictionary형태로 변환하여 사용이 가능하다.
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> args = parser.parse_args(['--foo', 'BAR'])
>>> vars(args)
{'foo': 'BAR'}
728x90
'Python' 카테고리의 다른 글
파이썬 특정 폴더의 하위폴더 및 파일 리스트 가져오기 (glob) (0) | 2021.08.26 |
---|---|
파이썬 map의 활용 (0) | 2021.08.22 |
isinstance() (0) | 2021.05.24 |
Shell Script , parameter 전달 법 (0) | 2021.05.07 |
쉘스크립트 파일 sh 이용, 파이썬 파일 순차 실행 (0) | 2021.05.07 |