728x90
반응형
함수
함수는 입력값을 가지고 어떤 작업을 수행하고 결과물을 내어놓는 역할을 합니다. 함수는 같은 내용의 반복적 작성을 줄일 수 있고, 프로그램의 흐름을 일목요연하게 볼 수 있습니다.
입력값 --> 함수 --> 결과값
함수의 구조
파이썬에서 함수는 아래와 같은 구조를 가지고 있습니다.
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
...
코드를 작성하여 보도록 하겠습니다.
def add(a, b): # a, b는 매개변수
return a+b
print(add(3, 4)) # 3, 4는 인수
함수는 일반적으로 입력값과 결과값을 가지고 있습니다. 하지만 경우에 따라서 입력값이 없는 경우, 결과값이 없는 경우, 입력값도 결과값도 없는 경우도 있습니다.
매개변수 지정하여 호출
함수를 호출할 때 매개변수를 지정할 수도 있습니다.
def add(a, b): # a, b는 매개변수
return a+b
def add_1(a=2, b=6): # a, b는 매개변수를 지정
return a+b
print(add(3, 4)) # 결과는 7
print(add_1()) # 결과는 8
print(add_1(4,0)) # 결과는 4
입력값이 몇 개가 될지 모르는 경우
입력값이 몇 개가 될지 모르는 경우에는 매개변수앞에 *를 붙여줍니다. 구조는 아래와 같습니다.
def 함수이름(*매개변수):
<수행할 문장>
...
예제를 살펴보겠습니다.
def add(*args):
result = 0
for i in args:
result += i
return result
print(add(3, 4)) #결과 7
print(add(1,2,3,4)) #결과 10
print(add(1,2,3,4,5,6,7,8,9,10)) #결과 55
lambda
lambda는 함수를 생상할 때 사용하는 예약어로 def와 동일한 역할을 합니다. 보통은 함수를 간결하게 한줄로 표현할때 사용합니다. lambda는 return 명령어가 없어도 결과값을 돌려줍니다.
사용법은 아래와 같습니다.
lambda 매개변수1, 매개변수2, ...: 매개변수를 이용한 표현식
add = lambda a,b:a+b
print(add(3,4)) # 결과 7
728x90
반응형