Python:Function
Python functools package.
Built-in Functions
filter
두번째 인수인 반복 가능한 자료형 요소들을 첫번째 인자 함수에 하나씩 입력하여 리턴값이 참인 것만 묶어서 돌려준다.
reduce
WARNING |
python3 부터 내장함수에서 빠짐. 대신 |
Example:
args and kwargs
*args
는 파라미터를 몇개를 받을지 모르는 경우 사용한다. 튜플 형태로 전달된다. **kwargs
는 파라미터 명을 같이 보낼 수 있다. 딕셔너리 형태로 전달된다.
def print_param3(*args, **kwargs):
print args
print kwargs
print_param3('a', 'b')
#('a', 'b')
#{}
print_param3(third = 'c', fourth = 'd')
#()
#{'fourth': 'd', 'third': 'c'}
print_param3('a', 'b', third = 'c', fourth = 'd')
#('a', 'b')
#{'fourth': 'd', 'third': 'c'}
튜플(Tuple)형식 가변 인자전달
def test_var_args(farg, *args):
print "formal arg:", farg
for arg in args:
print "another arg:", arg
test_var_args(1, "two", 3)
사전(Dictionary)형식 가변 인자전달
def test_var_kwargs(farg, **kwargs):
print "formal arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
test_var_kwargs(farg=1, myarg2="two", myarg3=3)
가변인자와 사전의 동시사용
*arg
, **kwargs
, 형식 인자(format args)의 사용순서:
가변인자 By-pass
가변인자를 다시 전달하고 싶을 경우, *
또는 **
와 함께 인자에 적어줘야 한다.