# 1. *args tuple형태 파라메터
def call(*args):
print(args)
call('a', 'b', 'c')
('a', 'b', 'c')
_tuple = ("a", "b", "c")
call(_tuple)
(('a', 'b', 'c'),)
call(*_tuple)
('a', 'b', 'c')
_list = ["a", "b", "c"]
call(_list)
(['a', 'b', 'c'],)
call(*_list) # list형식을 던질수 있고, 튜플로 처리한다.
('a', 'b', 'c')
>>> def developer(name, *language):
print("이름 : {}".format(name), end=" ")
for lang in language:
print(lang, end=" ")
print()
>>> developer("홍길동", "java", "php", "asp", "c", "c++")
이름 : 홍길동 java php asp c c++
>>>
>>> developer("김모씨", "python", "javascript")
이름 : 김모씨 python javascript
>>>
# 2. **kwargs dictionary형태 파라메터
def call(**kwargs):
print(kwargs)
print(kwargs.keys())
print(kwargs.values())
call(a=1, b=2, c=3)
{'a': 1, 'b': 2, 'c': 3}
dict_keys(['a', 'b', 'c'])
dict_values([1, 2, 3])
# 3. *args, **kwargs 같이사용 순서 바뀌면 안됨 반대로하면 에러발생
def call(*args, **kwargs):
print(args)
print(kwargs)
call('a', 'b', 'c', a=1, b=2, c=3)
('a', 'b', 'c')
{'a': 1, 'b': 2, 'c': 3}
# 4.
def call(one, two, three):
print(one, two, three)
_tuple = ('a', 'b', 'c')
call(*_tuple) # call(_tuple) 에러
a b c
_list = ['a', 'b', 'c']
call(*_list) # call(_list) 에러
a b c
_dic = {'a': '1', 'b': '2', 'c': '3'}
call(*_dic) # call(**_dic) <-- error 발생
a b c
매개변수 *args, **kwargs 를 활용한 가변매개변수 사용법
|
2020.01.17 01:01:40
|
2020.08.22 23:11:55
|
592
|
Aiden
Total of Attached file
0.00 Bytes of 0 files
2020.02.16
2020.02.01
2020.02.01
2020.01.24
2020.01.18
2020.01.17
2020.01.12
2019.09.25
2019.09.24
2019.09.16