20210926 점프 투 파이썬
04-1 함수
def 함수이름( 매개변수 ) :
수행할 문장1
수행할 문장2
....
def add(a,b,c):
return a+b+c
def add_print(a,b,c):
print("%d, %d, %d 의 합은 %d입니다" % ( a,b,c,a+b+c) )
def say():
return 'hi world'
def test_func(a,b)
return a-b
test_func(4,1) = 3
test_func(b=3, a=10) = 7
매개변수 갯수를 모르는 경우 *매개변수 로 한번에 받을 수 있다.
def add_all( *num )
result = 0
for i in num:
result = result + i
return result
매개변수 갯수를 모르는 경우2 *매개변수 앞에 추가로 매개변수 넣을 수도 있음
def add_choice( choice, *num )
if choice == "add" :
result = 0
for i in num :
result = result + i
elif choice == "mul":
result = 1
for i in num :
result = result * i
return result
매개변수를 키워드포함으로 받을 수도 있다. 딕셔너리화 가능
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs( a=1 ) -> {'a':1}
print_kwargs( name='test', a=2) -> {'name':'test', 'a':2}
함수의 결과값은 언제나 하나지만 여러개를 반환하려고 할 경우 튜플로 반환해준다
def ttt(a,b):
return a+b, a*b, a-b
print( ttt(2,3) )-> (5, 6, -1)
매개변수에 미리 초기값을 넣어서 입력을 생략하게 할 수도 있다. c랑 동일
def tttt( a,b=3)
return a+b
print( tttt(6) ) -> 9
함수내의 변수는 함수 내에서만 쓸수 있지만
global 가능
a = 1
def test() :
global a
a = a+1
test()
print(a)
def 말고 간결하게 함수 선언시 사용하는 lambda
add = lambda a, b : a+b
print( add( 3,4 ) ) ----> 7
def add2(a,b):
return a+b
print( add2(3,4) ) -----> 7
한줄짜리 간결한 함수 만들때 쓴다.