개발/Python

함수

과녁스 2018. 9. 10. 13:18

함수의 파라미터 값이 몇 개가 될지 모를 때

함수의 파라미터 개수를 상관 없이 처리하여 돌려주는 함수가 있을 때

  • " * "을 사용하여 처리한다.
def sum_many(*args)
    sum = 0
    for in args:
        sum = sum + i
    return sum
  • " ** " 두 개는 같은 역할이지만 딕셔너리에서만 사용 가능

 

함수의 결과는 한 개

return a+b, a*b와 같은 경우 에러가 발생할 것 같지만 함수의 결과는 1개이기 때문에 해당 값은 (a+b, a*b)의 튜플로 리턴된다.

 

입력 인수에 초깃값 미리 설정하기

함수 파라미터에 초깃값 설정가능

def say_myself(name, old, man=True):
    print("나의 이름은 %s" % name)
    print("나이는 %d살입니다" % old)
    if man:
        print("남자입니다.")
    else:
        print("여자입니다.)

 

함수 입력 인수에 초깃값을 설정할 때 주의할 사항

def say_myself(name, man=True, old):
    print("나의 이름은 %s" % name)
    print("나이는 %d살입니다" % old)
    if man:
        print("남자입니다.")
    else:
        print("여자입니다.)
  • 위 와 같은 함수가 있을 경우 say_myself("박응용", 27)과 같이 호출하면 27이 man변수와 old변수 중 어디로 들어가야할지 모르기때문에 에러가 발생한다.