반응형
- 매개변수
매개변수는 함수의 괄호에 넣는 함수의 목적어 입니다. 함수를 호출할 때 입력한 값은 매개변수에 전달됩니다.
>>> def print_number(x, y, z): # 함수 선언
print(x)
print(y)
print(z)
>>> print_number(1, 2, 3) # 함수 호출
1
2
3
>>> print_number(x, y, z)
x, y, z가 매개 변수
- 인수
인수는 함수를 호출할 때 함수에 전달하는 입력 값 입니다.
>>> print_number(1, 2, 3)
1, 2, 3이 인수
>>> def print_number(x, y, z):
print(x)
print(y)
print(z)
>>> print_number(1, 2)
Traceback (most recent call last):
File "<pyshell#52>", line 1, in <module>
print_number(1, 2)
TypeError: print_number() missing 1 required positional argument: 'z'
인수의 개수가 선언된 매개변수보다 작으면 오류가 발생합니다.
- 가변 매개 변수
def 함수이름(*매개변수):
실행 코드
가변 매개 변수를 선언할 때는 가변 매개 변수 앞에 *을 붙여줍니다. 가변 매개 변수는 인수의 개수와 상관없이 값을 출력해 줍니다. 가변 매개 변수는 한 함수에서 하나만 사용할 수 있습니다.
>>> def print_numbers(a, *args):
print(a)
print(*args)
>>> print_numbers(1, 2, 3, 4, 5)
1
2 3 4 5
일반 매개 변수와 가변 매개 변수를 입력했을 때 일반 매개 변수에 들어간 인수 1은 일반 매개 변수의 개수와 같이 하나만 출력되고 가변 매개 변수에 들어간 나머지 인수들은 모두 출력되게 됩니다.
>>> def print_numbers(*args, a):
print(*args)
print(a)
>>> print_numbers(1, 2, 3, 4, 5)
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <module>
print_numbers(1, 2, 3, 4, 5)
TypeError: print_numbers() missing 1 required keyword-only argument: 'a'
가변 매개 변수는 일반 매개 변수 앞에 적을 수 없고 마지막에 작성해야 합니다.
- 기본 매개 변수
>>> def print_numbers(a, *args, b = 1):
print(a)
print(*args)
print(b)
>>> print_numbers(1, 2, 3, 4, 5)
1
2 3 4 5
1
매개변수에 =를 이용해 인수를 지정해주면 함수를 호출할 때의 인수와 상관없이 인수가 출력됩니다.
함수에 변수를 넣는 순서는 일반 매개 변수 - 가변 매개 변수 - 기본 매개 변수 순 입니다.
반응형
'Python' 카테고리의 다른 글
[Python] 문자열 포매팅, % (0) | 2021.05.03 |
---|---|
[Python] 람다표현식 (0) | 2021.04.28 |
[Python] 함수 선언 (0) | 2021.04.17 |
[Python] 딕셔너리 (0) | 2021.04.13 |
[Python] 문자열 포매팅, format (0) | 2021.04.07 |