Python 기초문법_3
1. Function이란?
- input이 들어와서 output이 정해진 규칙을 통해 생성되는 수학에서의 function과 비슷합니다.
- 하지만 수학에서의 function과는 달리 프로그래밍에서는 하나의 기능을 나타내기도 합니다.
- 정확하게는 특정 기능을 구현한 코드 묶음 입니다.
- 함수를 사용하는 이유는 재사용성 때문 입니다.
함수를 사용하는 가장 큰 이유는 재사용성 때문 입니다. 똑같은 구조의 코드가 반복되는 것을 피하기 위해서 사용되며 보통 한가지의 기능을 단위로 묶입니다.
2. Function definition
def add(a, b):
c = a + b
return c
- 위와 같은 구조를 가지고 있습니다.
add(3, 8)
-
위와 같은 방식으로 호출하며 인자(parameter)를 설정 할 수 있습니다.
-
만약 parameter의 갯수를 모를 경우 * 를 이용하여 함수를 정의 할 수 있습니다.
def add_many(*args):
return sum(args)
- parameter는 함수 내부에서 사용되는 local parameter 와 함수 밖에서도 통용되는 global parameter를 구분해서 사용합니다.
- 즉 함수 내부에서 사용된 parameter는 함수 외부로는 아무런 영향을 끼치지 못하며 함수 외부의 변수와 서로 충돌하지 않습니다.
def change_name(name):
name = "kim"
print("name is changed by ", name)
return name
name = "lee"
change_name(name)
print(name)
3. Lambda함수
- Lambda 함수는 한줄로 함수를 표현 할 수 있는 구문입니다.
x = lambda a, b: a + b
print(x)
- 위와 같이 lambda를 선언 한 이후 바로 인자를 받으며 : 이후에는 return값을 결정합니다.
- 조금 더 기능을 확장하여 다음 리스트를 문자열의 길이로 정렬해 보겠습니다.
L = ["jeong", "kim", "park", "namgung"]
L.sort(key = lambda x: len(x))
print(L)
마치며
설명한 부분 이외에도 공부할 부분은 많습니다만 간략하게 function에 대하여 설명해 보았습니다. 이 외에도 라이브러리를 불러와 내장된 함수를 사용하는 등 함수의 사용법은 훨씬 많이 있지만 여기선 간략하게 넘기고 다음에는 I/O에 대하여 설명해 보도록 하겠습니다.