1. 함수
01. 함수란
💡특정 기능을 하기 위한 코드의 집합을 의미한다. 함수를 정의해 놓으면 해당 기능이 필요한 위치에서 함수를 호출하여 간편하게 사용할 수 있다.
02. 함수 표현식
- def 키워드를 사용하여 함수를 정의
# 함수 선언과 호출 예시
def basic_function(#parameter):
print("Hello World")
basic_function() # Hello World
2. 매개변수
01. 파라미터
- 함수에 전달받을 값의 변수명
02. 인자
- 함수 호출 시 전달하는 값
- 함수 인자를 보내는 방식은 다음 2가지가 있다.
- 위치 인자: 위치로 매칭하는 방법
- 키워드 인자: 매개변수 이름으로 매칭하는 방법
- 이때, 위치 인자를 먼저 사용하면 뒤에 키워드 인자를 쓸 수 있다.
- 단, 위치 인자와 키워드 인자를 함께 사용할 때 키워드 인자를 먼저 사용하는 것은 불가하다.
def information(name, color): print(name + '의 최애 색상', color, sep=' : ')# 위치 인자 information('tiger', 'orangered') # tiger의 최애 색상 : orangered# 키워드 인자 information(color='black', name='monkey') # monkey의 최애 색상 : black information('monkey', color='black') # monkey의 최애 색상 : black # information(color='black', 'monkey') # 불가능 # information(name='monkey', 'black') # 불가능
03. 반환값 (return)
- 함수 블럭 내부에서 return 키워드를 만나면 함수의 작동이 중단된다.
- return 키워드 뒤에 변수 또는 값이 오면, 해당 자료를 함수 호출 위치에 반환하며 중단된다.
04. 패키지 / 언패키지
[패키지]
- 위치 인자가 많을 때 *을 붙여서 패키징하여 하나의 객체로 처리할 수 있다.
def add_many(*args):
result = 0
for i in args:
result = result + i
return result
add_many(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) # 55
[언패키지]
- 패키지와 반대되는 개념으로 여러 개의 객체를 포함하는 하나의 객체를 풀어준다.
- 키워드 인자인 경우에는 * 두 개(**)를 붙여서 작성할 수 있다.
def sum(a, b, c):
return a + b + c
numbers = [1, 2, 3]
# sum(numbers) # 배열로 하나만 넘겨주면 에러 발생
print(sum(*numbers)) # 6
05. lambda
💡람다는 일회성의 간단한 함수를 정의할 때 유용하게 사용할 수 있는, 함수를 보다 간단하고 쉽게 선언하는 방법이다. 매개변수로 함수를 전달해야 할 때, 함수 구문을 작성하는 것이 번거롭고 코드가 지나치게 길어지는 경우 사용한다. 즉, 함수 기능을 매개변수로 전달하는 코드를 더 효율적으로 작성할 수 있도록 한다.
- lambda 사용 예시
변수명 = lambda (매개변수): (함수 실행 내용)
# 람다 기본
add = lambda x, y: x + y
print(add(3, 5)) # 8
# 람다 함수를 고차함수의 인자로 전달(배열 요소 처리)
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers)) # [1, 4, 9, 16, 25]
# 람다 함수를 고차함수의 인자로 전달(배열 요소 필터링)
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # [2, 4, 6]
# 배열 정렬 기준을 람다 함수로 전달
points = [(1, 2), (3, 1), (5, -1)]
sorted_points = sorted(points, key=lambda x: x[1])
print(sorted_points) # [(5, -1), (3, 1), (1, 2)]
06. 내장 함수
- input
- type
- len
- int, float, str, list, dict
- range
- min, max
- sum
- abs
- round
- map
- filter
- pow
'SKN > 01. python' 카테고리의 다른 글
| 05. 모듈&패키지 (0) | 2025.02.24 |
|---|---|
| 04. 클래스와 상속 (1) | 2025.02.24 |
| 02. 제어문(조건문, 반복문) (0) | 2025.02.18 |
| 01. 변수와 자료형 (0) | 2025.02.18 |
| 00. 파이썬 개요 (0) | 2025.02.18 |