파이썬 문법 중 함수와 클래스 중 일부에 대해 강의가 진행되었다. 정확히 알고 있는 내용은 생략하고, 조금이라도 헷갈리거나 새로 알게된 부분만 기록하려고 한다.
학습 내용
1. 매개변수
2. 패키지와 언패키지
3. 람다 (lambda)
1. 매개변수
파라미터
def greeting(name, greet="처음 뵙겠습니다!!!"):
print(name, ":", greet)
greeting("다람쥐","반갑습니다") # 다람쥐 : 반갑습니다 //초기값을 설정해도 인자로 넣은 게 값으로 바뀜.
2. 패키지와 언패키지
패키징
위치 인자가 많을 때 *을 붙여서 패키징하여 하나의 객체로 처리할 수 있다.
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
3. 람다(lambda)
람다 표현식
변수명 = lambda (매개변수): (함수 실행 내용)
람다 사용 예시
- 람다 기본
add = lambda x, y: x + y
print(add(3, 5)) # 8
2. 람다 함수를 고차함수의 인자로 전달 (배열 요소 처리)
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers)) # [1, 4, 9, 16, 25]
3. 람다 함수를 고차함수의 인자로 전달 (배열 요소 필터링)
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # [2, 4, 6]
4. 배열 정렬 기준을 람다 함수로 전달
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)]
'SK Networks AI > 일일 회고록' 카테고리의 다른 글
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 6일차(25.02.14 금요일) (2) | 2025.02.14 |
---|---|
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 5일차(25.02.13 목요일) (0) | 2025.02.13 |
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 3일차(25.02.11 화요일) (0) | 2025.02.10 |
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 2일차(25.02.10 월요일) (0) | 2025.02.10 |
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 1일차(25.02.07 금요일) (2) | 2025.02.09 |