David의 개발 이야기!

함수 본문

파이썬 기초

함수

david.kim2028 2022. 1. 24. 21:51
반응형

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 로 들어가기 때문에 생기는 에러!

초기화시키고 싶은 변수들을 항상 뒤쪽에 위치하는 것을 잊지말자!

 

 

 

반응형

'파이썬 기초' 카테고리의 다른 글

파일 읽고 쓰기  (0) 2022.01.24
집합 자료형  (0) 2022.01.24
딕셔너리 자료형  (0) 2022.01.24
튜플 자료형  (0) 2022.01.24
리스트 자료형  (0) 2022.01.24
Comments