David의 개발 이야기!
함수 본문
반응형
1. 여러 개의 입력 값을 받는 함수 만들기
def sum_many(*args):
sum = 0
for i in args:
sum += i
return sum
result = sum_many(1,2,3)
print(result)
>>> 6
참고) 함수의 인수로 *args 만 사용할 수 있는 것은 아님
def sum_mul(choice, *args):
if choice == "sum":
result = 0
for i in args:
result += i
elif choice == "mul":
result = 1
for i in args:
result *= i
return result
result = sum_mul("sum",1,2,3,4,5)
print(result)
>>> 15
참고 ) 함수의 결과 값은 언제나 하나이다.
def sum_and_mul(a,b):
return a+b, a*b
result = sum_and_mul(3,4)
print(result)
>>> (7,12) # 튜플값으로 묶여서 나옴.
# 만약 이 하나의 튜플값을 2개의 결과값처럼 받고 싶다면 다음과 같이 함수를 호출하면 된다.
sum, mul = sum_and_mul(3,4)
2. 입력 인수에 초깃값 미리 설정하기
def say_myself(name, old, man=True):
print("나의 이름은 {}입니다.".format(name))
print("나이는 %d살 입니다." %d old)
if man:
print("남자입니다")
else:
print("여자입니다.")
say_myself("박응용",27) #기본값으로 나옴
>>>
나의 이름은 박응용입니다.
나이는 27살입니다.
남자입니다.
say_myself("박응용",27, False) #기본값 말고, 나오게 하려면
※ 함수 입력 인수에 초깃값을 설정할때 주의사항
def say_myself(name, man=True, old):
print("나의 이름은 {}입니다.".format(name))
print("나이는 %d살 입니다." %d old)
if man:
print("남자입니다")
else:
print("여자입니다.")
say_myself("박응용",27)
>>> SyntaxError : non-default argument follows argument
27이 man=True 로 들어가기 때문에 생기는 에러!
초기화시키고 싶은 변수들을 항상 뒤쪽에 위치하는 것을 잊지말자!
반응형
Comments