파이썬 함수는 프로그래밍에서 중요한 개념 중 하나로, 코드의 구조를 단순화하고 재사용성을 높이는 데 사용된다. 함수를 올바르게 정의하고 호출하는 방법을 이해하면 다양한 작업을 효과적으로 수행할 수 있다. 본 글에서는 파이썬 함수에 대해 알아본다.
함수(function) 구조
파이썬 함수는 def
키워드를 사용하여 정의된다. 함수 구조는 다음과 같다.
def func_name(param1, param2):
val = algorithm...
return val
...
c = func_name(arg1, arg2)
다음은 인자로 전달하는 두 숫자를 더하는 함수의 예제이다.
def greet(name):
return "안녕하세요, " + name + "님!"
message = greet("Alice")
print(message)
안녕하세요, Alice님!
기본 매개 변수
기본 매개변수(default parameter)를 사용하면 함수를 호출할 때 인자를 제공하지 않아도 된다. 기본 값을 가진 매개변수는 함수 정의에서 지정할 수 있다.
def greet(name, greeting="안녕"):
return greeting + ", " + name + "!"
message1 = greet("Alice") # greeting에 기본값 "안녕" 사용
message2 = greet("Bob", "Hello") # greeting에 "Hello" 전달
print(message1) # "안녕, Alice!" 출력
print(message2) # "Hello, Bob!" 출력
가변 인자
가변 인자(variable-length argument)를 사용하면 함수가 임의 개수의 인자를 받을 수 있다. *
를 사용하여 가변 인자를 표시한다.
def calculate_sum(*args):
total = 0
for num in args:
total += num
return total
result1 = calculate_sum(1, 2, 3)
result2 = calculate_sum(10, 20, 30, 40)
print(result1) # 6 출력
print(result2) # 100 출력
내부 함수
파이썬에서는 함수 내에 다른 함수를 정의할 수 있다. 이러한 함수를 내부 함수(inner function)라고 한다.
def outer_function():
def inner_function():
return "내부 함수 실행"
return inner_function
my_function = outer_function()
result = my_function()
print(result) # "내부 함수 실행" 출력
람다(lambda) 함수
람다 함수(lambda function)는 익명 함수로, 이름 없이 정의된다. 주로 간단한 연산을 수행하는 함수를 정의할 때 사용된다.
multiply = lambda x, y: x * y
result = multiply(3, 4)
print(result) # 12 출력
내장 함수
파이썬에 기본적으로 내장되어 있는 함수들을 내장함수라 한다. 이런 내장함수를 사용하는데 import
명령은 필요없다.(참고: https://wikidocs.net/32)

외장 함수
외부 “라이브러리”를 통해 사용할 수 있는 함수를 외장 함수라 한다. 그래서, 외장 함수들을 사용하려면 별도의 import 명령이 필요하다. 다음은 주요 외장 함수를 제공하는 라이브러디 이다. 자세한 각각 라이브러리는 https://wikidocs.net/33를 참고한다.
- sys
- pickle
- os
- shutil
- glob
- tempfile
- time
- calendar
- random
- webbrowser
- namedtuple
- defaultdict