반응형
*args
arguments 의 약자로 인자 값을 전달 받는다는 의미
사용자가 원하는 만큼 인자를 전달할수있고 함수내부에서 여러 값을 튜플로 전달 된다
*args 라고 꼭 적을 필요없이 *name *food 로 원하는 이름을 적어도 된다 ( args가 통상적으로 쓰인다고 함)
-파이썬은 *args 가 어디서부터 어디까지가 *args 인지 모르기떼문에
*args 는 일반변수보다 항상 뒤에 있어야하며 일반변수보다 앞에올 경우 에러가 난다
ex)
def myfunc(*args):
print(args)
print(sum(args))
myfunc(1,3,42,52)
'''
튜플로 전달받음
(1, 3, 42, 52)
98
'''
**kwargs
keywardarguments의 약자로 키워드를 전달받는다는 의미
함수를 호출할때 키워드='값'의 형태로 함수를 호출할수있으며 함수에 딕셔너리 형태로 전달 된다
마찬가지로 **kwargs로 꼭 적을 필요는없지만 통상적으로 kwargs를 사용한다고한다
ex)
def myfunc(**kwargs):
print(kwargs)
if 'name' in kwargs:
name = kwargs['name']
print(f'안녕하세요 저는 {name} 입니다.')
else :
print('이름을 찾을 수 없습니다')
myfunc(name='배성현')
'''
딕셔너리로 전달받음
{'name': '배성현'}
안녕하세요 저는 배성현 입니다.
'''
myfunc(food='사과')
'''
딕셔너리로 전달받음
{'food': '사과'}
이름을 찾을 수 없습니다
'''
반응형
'Python' 카테고리의 다른 글
Class 예제(2) - 두 점 사이의 거리, 기울기 (0) | 2022.05.17 |
---|---|
Class 예제 (1) - 은행 계정 클래스 (0) | 2022.05.17 |
OOP (객체지향 프로그래밍) (0) | 2022.05.17 |
Python - iterator , generator (0) | 2022.05.16 |
Python-Decorator(데코레이터) (0) | 2022.05.16 |