[파이썬] 나만의 함수를 직접 만들기
파이썬에 수많은 라이브러리(Library)와 메서드(Method)가 있음에도 내가 쓸 함수가 없는 경우가 있다.
이럴 경우, 나만의 함수를 만드는 방법이 있다.
나만의 함수 특징은 미리 정의해놓는다면, 다음에는 한 줄만을 사용하여 내가 만든 알고리즘을 작동시킬 수 있다는 점에서 코드의 가독성과 효율성을 높일 수 있다.
아래 세 가지 경우일 때 나만의 함수를 사용하면 유용하다.
1. 반복되는 작업을 수행해야할 때
2. 복잡한 작업(코드)를 단순화할 때
3. 전체 코드 내 여러 부분에서 동일한 처리가 필요할 때
나만의 함수를 만들 때, 기본적으로 필요한 것은 '함수 이름', '매개변수', 그리고 '반환값'이다.
함수는 def 를 사용하여 정의하며, 이후 괄호 안에 매개변수를 지정하고(':')을 사용하여 함수를 시작하면 된다.
'반환값'은 return 문을 사용하여 얻을 수 있다.
이에 대한 몇 가지 예를 보면,
def say_hello():
print("안녕하세요!")
위 함수는 매개변수는 없고, say_hello를 치면 "안녕하세요"가 print되는 함수이다.
say_hello()라는 함수를 정의하였고, 이 함수를 호출하면 아래와 같이 "안녕하세요!"가 표출된다.
이 때 주의할 점은 say_hello()를 정의할 때, () 안에 어떠한 인수도 넣지 않았기 때문에
함수를 호출할 때에도 () 안에 인수를 넣으면 안된다.
def add(a, b):
return a + b
위 함수는 a, b라는 매개변수를 받으며, a+b를 반환한다.
add(a, b) 함수를 정의하였고, 이 함수를 호출하면 아래와 같이 a+b 값이 반환된다.
이 때 return은 함수의 값을 반환하는 역할이다.
add(a, b)에 (3, 4)를 넣었고, 3+4의 값을 return을 통해 반환하였다.
반환한 값은 A로 정의하여 A를 이용한 다른 식의 계산에 활용될 수 있다.
def calculate_average(numbers):
return sum(numbers) / len(numbers)
위 함수는 numbers라는 매개변수를 받으며, sum(numbers) / len(numbers)를 반환한다.
이 때 numbers는 숫자가 아닌 리스트여야 한다.
0126 더 추가 예정