https://docs.python.org/ko/3/library/pathlib.html

python으로 개발하다가 외부라이브러리를 쓰다보면 많이 보는 글자가 바로 *args 또는 **kwargs 다.

한마디로 말해서 어떤 값을 넣을진 모르는데 *args는 값을 넣으면 함수에 변수가 튜플형태로 입력되는 것이고, **kwargs는 딕셔너리 형태로 입력되는 것이라고 보면 된다.

*var, **vars 로 사용해도 됨.

# 키워드되지 않은 가변
def aaa(*args):

print args

aaa(1,2,3,4,)
==> (1,2,3,4)

# 이름이 지정된 인자
def bbb(**kwargs):

 print kwargs

bbb( a=1, b=2, c=3)
==>{ a:1, b:2, c:3}

실제 예시

values = {
          'basic_meta_json' : json_loaded, 
          'scene_name' : scene_name, 
          'filename' : file_name,
          'satellite_name' : satellite_name, 
          'utc' : utc, 
          'local_time' : localtime,
}

session.add(scenes(**values))