내가 공부한 것들

[파이썬] 나만의 함수를 직접 만들기

2ns 2024. 1. 23. 23:19

파이썬에 수많은 라이브러리(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 더 추가 예정