All about

 매개변수(parameter)

실행인자(argument) 

함수를 정의할 때 사용하는 이름

함수를 실행할 때 사용하는 변수 혹은 값


매개변수와 실행인자의 정의입니다.


관련 예시와 에러메세지들을 나열해보겠습니다.


def add():
result = a + b + c
print(result)

add()

위 코드의 경우



name 'a' is not defined('a' 가 정의되지 않았다) 라는 에러메세지가 출력됩니다. 코드 안의 a, b, c라는 변수들이 정의되지 않았기 때문에 에러가 났습니다.

def add():
result = a + b + c
print(result)

add(4,3,4)

위와 같은 코드를 작성하여 실행할 경우



TypeError: add() takes 0 positional arguments but 3 were given 이라는 에러가 발생합니다.


해석하자면 "add()는 실행인자가 0개여야 하는 함수인데 3개가 주어졌다" 라고 생각할 수 있습니다.


def add():

둘 다 add() 함수를 정의할 때 매개변수 a,b,c 를 정의하지 않았기 때문에 발생하는 에러입니다.


def add(a,b,c):

위와 같이 함수의 정의에 매개변수를 추가하여 수정하면



잘 실행되는 것을 볼 수 있습니다.


def add(a,b,c):
result = a + b + c
print(result)

add(4,3)

함수의 정의에서 매개변수를 3개 지정하고 실행인자를 2개만 입력할 경우



add() missing 1 required positional argument: 'c' 라는, 실행인자 'c'가 입력되지 않았다는 에러메세지를 출력합니다.

실행인자를 하나도 입력하지 않았을 경우 add() missing 3 required positional argument: 'a', 'b', 'c' 라고 에레메세지가 출력되는 것을 예상할 수 있습니다.


def add(a,b,c):
result = a + b + c
print(result)

x=4
y=3
z=4

add(x,y,z)

코드에 x, y, z 라는 변수를 추가해서 add() 함수에 넣어도 



결과는 똑같이 출력됨을 알 수 있습니다.


여기서 사용된 x, y, z는 add() 함수를 실행시키기 위해 입력된 실행인자였던 '4', '3', '4' 라는 값들을 저장한 변수들이며, 함수 add()에 입력값으로 사용될때 '함수 add()의 실행인자로 사용되었다' 라고 이해할 수 있습니다.


잘못된 내용에 대한 피드백은 언제나 환영입니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading