본문 바로가기
Python/Python_basic

[Python] 인자

by Mr.DonyStark 2023. 11. 1.

□ argument (전달인자) : 함수를 호출할때 전달 되는 실제 값, argument(전달인자)라고 부름

□ parameter (매개변수) : 함수 정의부분에 나열되어 있는 변수이며 parameter(매개변수) 라고 부름
□ 함수를 정의할 때 외부로부터 받아들이는 임의의 값을 의미

파이썬 함수 인자 실행순서는 매우중요
함수 정의시 가변인자, 기본값등을 사용하면 활용도와 가독성이 높게 작성 할 수 있음

  msg 인자와 같이 default(기본값) 지정하는 인자를 만들어 사용하려면 모든 인자또한 default(기본값)을 지정하거나 없어야함, 단, default(기본값) 인자가 처음에 왔을 때에만 해당함. 즉, 하나의 방식으로 통일하거나, default(기본값)을 가진 인자를 뒤에다 위치시켜야함.

#예제 : 함수생성
def greet(name, msg='good morning'):  
    return 'hi!!!' + ',   '  + name + ',   ' + msg
#함수호출
print(greet('kim'))
print(greet('park', 'how are you?')) #함수생성시 default(기본값)을 지정했지만 인자를 별도 받으면 받은 값으로 대체됨

#예제 : 함수생성
def add(a, b=10, c=10):
    return a + b + c
#함수호출
print(f'add함수 결과 {add(10)}')
print(f'add함수 결과 {add(20,30,40)}')
print(f'add함수 결과 {add(c=100 , a=500 , b=250)}') #인자 순서가 바뀌어도 인자를 정하여 값을 할당해도 계산됨

#예제 : 함수생성
#* 언패킹 : 데이터 집합형태로 인자를 받고자할때 인자 앞에 * 기재. 즉, 인자를 묶어서 한번에 처리할때 사용
def add2(*d):
    tot = 0
    for i in d:
        tot += i
    return tot

print(f'언패킹 함수 결과 : {add2(10,11,12,13,14,16)}') #언패킹 *으로 인자 지정을하여 값 여러개를 한번에 받음