Python 함수 - 기본구조2

Nicholas·2022년 4월 23일
0

Python

목록 보기
13/31
post-thumbnail

1. 여러개의 입력값을 받는 함수

기본구조 : *변수이름

  • '*'을 앞에 붙이고 변수이름을 선언하면 변수를 여러개 받아서 튜플로 만들어준다.
  • 변수는 인자를 여러개받을 수 있어서 위의 코드와 같이 하나의 함수로 여러개의 인자를 받는 계산이 가능하다.
def add_many(*args): 
  result = 0
  for i in args: 
    result += i
  return result  
result = add_many(1,2,3)
print(result)

>>> 6

result = add_many(1,2,3,4,5,6,7,8,9,10)
print(result)

>>> 55

2. 여러개의 입력값을 받는 함수의 다른 매개변수 사용

  • *args 변수 이외에 choice변수를 넣어 if함수를 통해 choice의 인자에 일치여부를 확인하여 일치한 함수에 args변수를 넣어 출력한다.
def add_mul(choice, *args):
    if choice == "add":
        result = 0
        for i in args:
            result += i
    elif choice == "mul":
        result = 1
        for i in args:
            result = result * i
    return result
result = add_mul("add", 1, 3, 4, 5)
print(result)

>>> 13

result = add_mul("mul", 1, 3, 4, 5)
print(result)

>>> 60

args = arguments 의 약자로 매개변수를 뜻하며 관례적으로 사주사용함

3. 키워드 파라미터

  • 위의 여러개의 입력값을 받는 함수의 경우 튜플로 출력하지만 키워드 파라미터는 딕셔너리로 출력한다는 차이점이 있다.
  • 기본구조 : **변수이름
def print_kwargs(**kwargs):
    print(kwargs)


print_kwargs(a=1)

>>> {"a" : 1}

print_kwargs(name='foo', age=3)

>>> {"age" : 3, "name" : "foo"}

kwargs = keyword arguments 약자로 arguments 와 마찬가지로 관례적으로 자주 사용함.

3. 함수의 결과값은 언제나 하나이다.

3-1. python 함수는 return문을 두개쓸 수 없다. 왜냐하면 가장 처음 만나는 return문을 만나는 순간 함수를 빠져나오기 때문이다.

3-2. python 함수는 함수문내에 계산식이나 기타 제어문이 두개일때도 결과값을 하나로 출력한다.

def add_and_mul(a, b):
    return a+b, a*b


result = add_and_mul(3, 4)
print(result)

>>> (7, 12)

계산식이 두개일때 두개의 결과물이아닌 하나의 tuple로 처리되어 출력된다

profile
WEB Developer

0개의 댓글