[python] *args , **kwargs
2021. 7. 19. 23:12ㆍPython
728x90
- *args
*arguments의 줄임말. = 꼭 이렇게 쓸 필요는 없다. *a, *names등등 다 가능
여러개의 인자를 받고자 할 때 쓰임
일반 변수보다는 뒤에 위치하도록 해야함. 그렇지 않으면 오류가 난다.
ex. 학생 이름들을 인자로 받고 싶어요!
def print_names(*names):
for name in names:
print(name)
print('names: ', names, 'type:', type(names))
if __name__ == '__main__':
print_names('홍길동', '김철수')
여러 인자가 튜플 형태로 들어와서 출력된다!
- **kwargs
keyword argument의 줄임말
키워드 = 특정값 형태로 함수호출 가능
이렇게 들어온 인자는 딕셔너리 형태로 {'키워드' : '특정값'} 이렇게 함수 내부로 전달
ex.
def introduce_my_name(**kwargs):
for key, value in kwargs.items():
print(f"{key} is {value}")
print('---------------')
print(kwargs)
if __name__ == '__main__':
introduce_my_name(name='chang', age=24, job='student')
일반변수, *변수, **변수 순으로 써줘야 한다
*변수 = 여러개가 arguments로 들어오면 함수 내부에서 해당 변수를 튜플로 처리
**변수 = 키워드=''로 입력할 경우 그것을 각각 키와 값으로 가져오는 딕셔너리로 처리
728x90
'Python' 카테고리의 다른 글
[Python] __call__함수 (0) | 2021.07.26 |
---|---|
hasattr(object, name) / getattr(object, name) / setattr(object, name) (0) | 2021.06.15 |
class 이름/ class 변수 참조 (0) | 2021.06.15 |
__getitem__ (0) | 2021.05.21 |
Python argparse (0) | 2021.05.09 |