본문 바로가기

Programming/Python

[01. Python] 011. 함수

728x90

함수란 어떤 기능(function)을 하는 것이다. 반복적인 작업이 있다면 함수화 시켜놓으면 재사용이 가능해서 코드의 효율성을 높여준다. 함수의 기본적인 형태는 다음과 같다.

 

def sum(a, b):
 return a+b

c = sum(1, 2)
print(c)


결과 값
3

 

입력하는 파라메터의 기본값을 설정할 수도 있다. 해당하는 파라메터의 값을 입력하지 않으면 기본값으로 자동 할당된다.

 

def sum(a, b=1):
 return a+b

c = sum(1)
print(c)


결과 값
2

 

입력하는 파라메터의 수가 가변적이면 어떻게 입력해야 할까? *args를 이용하면 된다.

 

def sum(*args):
 sum = 0
 for i in args:
  sum += i

 return sum

c = sum(1, 2, 3)
print(c)


결과 값
6

 

기본값이 할당된 파라메터의 경우는 **kargs를 이용하면 된다.

 

def kargs(**kargs):
 return print(kargs)

kargs(a=1, b=2, c=3)


결과 값
{'a': 1, 'b': 2, 'c': 3}

 

*args와 **kwargs를 같이 사용하려면 다음과 같이 하면 된다.

 

def kargs(*args, **kargs):
 return print(args, kargs)

kargs('a', 'b', 'c', a=1, b=2, c=3)


결과 값
('a', 'b', 'c') {'a': 1, 'b': 2, 'c': 3}

 

그리고 함수를 lambda를 이용해 한 줄로 작성할 수 있다.

 

sum = lambda a, b: a + b
print(sum(1, 2))


결과 값
3
728x90

'Programming > Python' 카테고리의 다른 글

[01. Python] 013. 예외처리  (0) 2020.01.02
[01. Python] 012. 클래스  (0) 2020.01.02
[01. Python] 010. 제어문 – while  (0) 2019.12.29
[01. Python] 009. 제어문 – for  (0) 2019.12.29
[01. Python] 008. 제어문 – if  (0) 2019.12.25