1. 매개변수 지정하여 호출해보자
함수를 호출할 때 매개변수를 지정할 수 있다.
- 일반적인 함수
def add(a, b):
return a+b
- 매개변수 지정하여 호출하기. 10이 출력된다.
이렇게 하면 a, b의 순서에 상관없이 사용할 수 있다는 장점이 있다.
result = add(a=3, b=7)
print(result)
result = add(b=3, a=7)
print(result)
2. 입력값이 몇 개가 될지 모를 때
입력값이 몇 개가 될지 모를 때는,
매개변수 앞에 *을 붙여주자.
def 함수 이름(*매개변수):
수행할 문장
2.1. (* 매개변수)로 여러 개의 입력값을 받는 함수를 만들어보자
add_many(1,2)면 3을, add_many(1,2,3)이면 6을 돌려주는 함수이다.
def add_many(*args):
result = 0
for i in args:
result = result + i
return result
--> '*매개변수'를 사용하면 입력값이 몇 개이든 상관 없다. 입력값을 전부 모아서 튜플로 만들어주기 때문이다!
*args는 매개변수를 뜻하는 arguments의 약자이며 관례적으로 자주 사용된다. 그러나 *pey, *hyeppy 등 사용자가 임의로 지정할 수 있다.
2.2. (매개변수, * 매개변수)로 여러 개의 입력값을 받는 함수를 만들어보자
*args 와 또 다른 매개변수를 함께 사용할 수 있다.
함수를 만들어보자!
def add_cal(choice, *args):
if choice == 'add':
result = 0
for i in args:
result += i
elif choice == 'mul':
result = 1
for i in args:
result *= i
return result
함수를 사용해보자!
a = add_cal('add', 1,2,3,4,5)
print(a)
a = add_cal('mul', 2,3,100)
print(a)
2.3. (** kwargs 매개변수)로 여러 개의 입력값을 받는 함수를 만들어보자
kwargs는 keyword arguments의 약자이다.
args와 마찬가지로 관례적으로 사용되니 알아두자!
함수를 만들어보자!
def print_kwargs(**kwargs):
print(kwargs)
함수를 사용해보자!
print_kwargs(a=1)
출력을 확인해보자!
{'a': 1}
------------한번 더 해보자!-------------
함수를 만들어보자!
def print_kwargs(**kwargs):
print(kwargs)
함수를 사용해보자!
print_kwargs(name = 'foo', age = 3)
출력을 확인해보자!
{'name': 'foo', 'age': 3}
--> 이렇듯 매개변수 kwargs는 딕셔너리가 되고 모든 key=value 형태의 결괏값이 그 딕셔너리에 저장된다.
끝~><
'Python' 카테고리의 다른 글
매개변수 초깃값 설정 (SyntaxError: non-default argument follows default argument) 오류 메세지 이유 (0) | 2022.06.25 |
---|---|
Python 함수의 return에 대해 알아보자! (0) | 2022.06.25 |
Python 입력값과 결괏값에 따른 함수 총정리 (0) | 2022.06.22 |
6. 모듈과 패키지_절대 경로와 상대 경로의 Import (0) | 2022.06.07 |
6. 모듈과 패키지_import 문과 AS (0) | 2022.06.07 |