Contents

조회 수 1535 댓글 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
번호 분류 제목 글쓴이 날짜 조회 수
62 Etc 원어민이 매일 쓰는 일상표현 150개 file hooni 2023.09.17 826
61 Etc 영어. 반드시 외워야 할 문장 패턴 100개 file hooni 2023.06.08 824
60 Etc RSVP 란? file hooni 2017.11.22 958
59 Etc How to completely Uninstall Coda hooni 2017.10.24 1969
58 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 3458
57 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 952
56 Etc IT감사 기법 시험 file hooni 2017.06.14 1389
55 Etc 사이버보안실무 시험. secret hooni 2017.04.20 0
54 Etc 사이버보안실무 수업 메모 hooni 2017.03.30 785
53 Etc 종합시험 관련 자료 secret hooni 2017.03.15 0
52 Etc 모바일 프로그래머가 갖추어야 할 필수 역량 file hooni 2017.02.16 1268
51 Etc ISMS 인증기준 – 정보보호대책 (시스템개발보안) file hooni 2016.12.01 1268
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6