728x90
- *args, **kargs : 동시에 여러 변수를 함수에 전달하고 싶을 때 사용하며 특히 몇 개나 전달할 지 알 수 없을 때 사용하면 편리하다.
- **kargs는 key-value형태로 전달할 때 사용한다.
def args(*arguments):
print(arguments)
def kargs(**keyword_arguments):
print(keyword_arguments)
1. *args : 쉼표로 구분해 여러 변수를 전달하면 그 변수들을 담은 튜플이 전달됨
전달 형식 : 'one', 'two', 'three'
args('one', 'two', 'three')
"""
위 코드 실행 결과:
('one', 'two', 'three')
"""
2. **kargs : 쉼표로 구분 + key=value의 형태로 변수를 전달하면 그 key-value쌍을 담은 딕셔너리가 전달됨
전달 형식 : key1=value2, key2=value2, ...
kargs(one='one', two='two')
"""
위 코드 실행 결과:
{'one': 'one', 'two': 'two'}
"""
- 예시로 문자열을 전달했지만 변수 x, y, z를 전달(args(x, y, z))해도 된다. 물론 함수도 된다.
- args는 arguments, kargs는 keys-arguments의 줄임말이라고 생각하면 될 것 같다. 큰 의미 없이 붙은 임의의 네이밍으로 *, **만 잘 구분해서 원하는 대로 사용하면 된다.
728x90
'AI > AI 지식' 카테고리의 다른 글
[Statistics/Math] Bias를 통제하는 방법은 무엇입니까? (0) | 2022.09.02 |
---|---|
[Statistics/Math] “likelihood”와 “probability”의 차이는 무엇일까요? (0) | 2022.08.23 |
[Python] 파이썬에서 namespace란 무엇인가요? (0) | 2022.08.23 |
[Deep Learning] 오버피팅일 경우 어떻게 대처해야 할까요? (0) | 2022.08.23 |
[Machine Learning] Markov Chain을 고등학생에게 설명하려면 어떤 방식이 제일 좋을까요? (0) | 2022.08.23 |