Engineering WIKI/Python
일급함수
by wonos
2022. 5. 30.
다양한 매개변수 입력 (*args, **kwargs)
- *args 는 튜플로 받고, **kwargs는 딕셔너리로 받는다.
def args_test(name, *contents, point=None, **attrs):
return '<args_test> -> ({}) ({}) ({}) ({})'.format(name, contents, point, attrs)
print('EX5-3 -', args_test('test1', 'test2', 'test3', id='admin')
print('EX5-4 -', args_test('test1', 'test2', 'test3', id='admin', point=7)
print('EX5-5 -', args_test('test1', 'test2', 'test3', id='admin', point=7, password='1234')
# EX5-3 - <args_test> -> (test1) (('test2', 'test3')) (None) ({'id': 'admin'})
# EX5-4 - <args_test> -> (test1) (('test2', 'test3')) (7) ({'id': 'admin'})
# EX5-5 - <args_test> -> (test1) (('test2', 'test3')) (7) ({'id': 'admin', 'password' : '1234'})
클로저 (Closure)
- 반환되는 내부 함수에 대해서 선언 된 연결을 가지고 참조하는 방식
- 반환 당시 함수 유효범위를 벗어난 변수 또는 메소드에 직접 접근이 가능하다.