[Python] python *args와 **kwargs 차이
2016. 9. 25. 23:36ㆍ프로그래밍/Python & dJango
1. *args 는 튜플 형태의 여러개의 파라미터를 전달할때 사용됩니다.
testFunc('1','2','3','4')
위와 같이 파라미터를 여러개 작성하여 넘기는 경우 *args 로 값을 받을 수 있습니다.
def testFuc(*args):
for value in args:
print value
실행 후 결과는
1
2
3
4
2. **kwargs 는 dictionary 형태의 값을 전달할 때 사용됩니다.
dic = {'name': 'hong', 'age': 30}
testFunc2(**dic)
위와 같이 파라미터를 전달하면 **kwargs로 값을 받을 수 있습니다.
def testFunc2(**kwargs):
for item in kwargs:
print '{0}, {1}'.format(item, kwargs[item])
실행 후 결과는
age, 30
name, hong
*** 추가적으로 *args 는 튜플이기 때문에 튜플형태의 리스트를 넘기는게 가능하다.
ex)
tu = [1,2,3,4]
aaaa(*tu)
def aaaa(a,b,c,d):
print a
print b
print c
print d
*) 값을 넘길때는 반드시 변수앞에 *을 붙여줘야함.
'프로그래밍 > Python & dJango' 카테고리의 다른 글
[django] django convert String to Datetime (0) | 2016.09.27 |
---|---|
[Python] 타입 비교 / 형변환 (0) | 2016.09.26 |
[Python] 삼항 연산자 (0) | 2016.09.26 |
Generic detail view ~~ must be called with either an object pk or a slug. 처리 방법 (0) | 2016.09.15 |
pip requirements.txt 로 한번에 설치하기! (0) | 2016.09.14 |