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
반응형

+ Recent posts