함수의 구조
def 함수명(입력 인수):
수행할 문장1
수행할 문장2
...
입력값이 여러 개일 때
def 함수이름(*args):
수행할 문장
...
일반적으로 볼 수 있는 함수 형태에서 괄호 안의 입력 인수 부분이 *args로 바뀌었다.
예)
>>> def sum_many(*args):
... sum = 0
... for i in args:
... sum = sum + i
... return sum
...
return값이 2개이상일때
>>> def sum_and_mul(a,b):
... return a+b, a*b
튜플값으로 리턴된다. (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("여자입니다.")
이전 함수와 바뀐 부분은 초깃값을 설정한 인수의 위치이다. 이것은 함수를 실행할 때 오류가 발생한다.
참조 : 점프 투 파이썬(https://wikidocs.net/24)