Contents

조회 수 3782 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

python 코드를 보다보면

*args, **kwargs 를 심심치 않게 본다.

그냥 막연하게 "어떤 파라미터를 몇개를 받을지 모르는 경우 사용한다" 라고 알고 있었지만

자세히 설명한 예 가 있어서 소개한다.



*args

- 파라미터를 몇개를 받을지 모르는 경우 사용한다. args 는 튜플 형태로 전달된다.

예)

def print_param(*args):
    print args
    for p in args:
        print p

print_param('a', 'b', 'c', 'd')
#('a', 'b', 'c', 'd')
#a
#b
#c
#d


**kwargs

- 파라미터 명을 같이 보낼 수 있다. kwargs는 딕셔너리 형태로 전달된다.

def print_param2(**kwargs):
    print kwargs
    print kwargs.keys()
    print kwargs.values()

    for name, value in kwargs.items():
        print "%s : %s" % (name, value)

print_param2(first = 'a', second = 'b', third = 'c', fourth = 'd')

#{'second': 'b', 'fourth': 'd', 'third': 'c', 'first': 'a'}
#['second', 'fourth', 'third', 'first']
#['b', 'd', 'c', 'a']
#second : b
#fourth : d
#third : c
#first : a



그러면 두개를 같이 쓰는 경우는??

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'}



응용 해 보자

def print_param4(a, b, c):
    print a, b, c

p = ['a', 'b', 'c']
print_param4(*p)
#a b c

p2 = {'c' : '1', 'a' : '2', 'b' : '3'}
print_param4(**p2)
#2 3 1


[출처] https://www.geeksforgeeks.org/args-kwargs-python/

[참고] https://stackoverflow.com/questions/3394835/use-of-args-and-kwargs



?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1153 Etc 영어의 12 시제 (The twelve tenses of English) hooni 2013.07.12 17287
1152 Etc 영어공부에 도움될만한 사이트 모음 hooni 2013.05.14 23711
1151 Etc 영어. 외우면 도움되는 필수영어회화 표현 file hooni 2013.09.09 24923
1150 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 5681
1149 Etc 영어. 반드시 외워야 할 영어 숙어 2 file hooni 2016.07.07 8101
1148 Etc 영어. 반드시 외워야 할 문장 패턴 100개 file hooni 2023.06.08 4652
1147 Etc 영어. 반드시 외워야 할 단어 file hooni 2016.07.07 3994
1146 Etc 영어 아주 쉬운 영작문 강의 01~60 secret hooni 2013.06.25 0
1145 Etc 영어 관련 토렌트 secret hooni 2013.06.25 0
1144 Etc 여러 대학 및 권위있는 기관 강좌 모음 ㅋㅋ hooni 2013.06.17 16488
1143 Etc 여기저기서 모은 VoIP(인터넷전화) 자료들~ file hooni 2013.04.23 16955
1142 Etc 엑셀 함수 총 정리 ㅎㅎ file hooni 2013.06.05 25663
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 99 Next
/ 99