반응형
Day 1: 람다 함수
- 강의 내용:
- 람다 함수의 개념
- 람다 함수의 정의와 사용법
- 익명 함수의 특징과 용도
- 람다 함수의 기본 구조
- 람다 함수의 개념
- 실습:
- 간단한 람다 함수 작성 및 호출
- 여러 매개변수를 가지는 람다 함수 작성
# 람다 함수 정의 및 호출
add = lambda x, y: x + y
print(add(3, 5)) # 8
# 여러 매개변수를 가지는 람다 함수
multiply = lambda a, b, c: a * b * c
print(multiply(2, 3, 4)) # 24
Day 2: map, filter, reduce 함수
- 강의 내용:
- map 함수
- map 함수의 개념과 사용법
- 리스트와 람다 함수를 이용한 map 사용 예제
- filter 함수
- filter 함수의 개념과 사용법
- 리스트와 람다 함수를 이용한 filter 사용 예제
- reduce 함수
- reduce 함수의 개념과 사용법
- functools 모듈에서 reduce 함수 가져오기
- map 함수
- 실습:
- map, filter, reduce 함수를 사용한 예제 작성
# map 함수
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared) # [1, 4, 9, 16, 25]
# filter 함수
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens) # [2, 4]
# reduce 함수
from functools import reduce
product = reduce(lambda x, y: x * y, numbers)
print(product) # 120
Day 3: 데코레이터 I
- 강의 내용:
- 데코레이터의 개념
- 데코레이터의 정의와 용도
- 함수의 동작을 수정하는 방법
- 함수 내에서 함수 정의
- 내부 함수의 개념과 사용법
- 데코레이터의 개념
- 실습:
- 내부 함수를 사용하여 데코레이터 기본 예제 작성
# 함수 내에서 함수 정의
def outer_function():
def inner_function():
print("This is the inner function.")
inner_function()
outer_function()
Day 4: 데코레이터 II
- 강의 내용:
- 기본 데코레이터 작성
- 데코레이터 함수 정의
- 데코레이터를 사용하여 함수 수정
- 데코레이터의 장점과 활용 예제
- 기본 데코레이터 작성
- 실습:
- 데코레이터를 사용한 함수 작성 및 호출
# 기본 데코레이터 작성
def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
Day 5: 데코레이터 III
- 강의 내용:
- 매개변수를 가진 데코레이터
- 매개변수가 있는 함수에 데코레이터 적용
- 다양한 데코레이터 작성 방법
- 매개변수를 가진 데코레이터
- 실습:
- 매개변수를 가진 데코레이터 작성 및 호출
# 매개변수를 가진 데코레이터
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Something is happening before the function is called.")
result = func(*args, **kwargs)
print("Something is happening after the function is called.")
return result
return wrapper
@my_decorator
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
Day 6: 클로저
- 강의 내용:
- 클로저의 개념
- 클로저의 정의와 사용법
- 클로저의 특징과 활용 예제
- 클로저와 데코레이터의 차이점
- 클로저의 개념
- 실습:
- 클로저를 사용한 함수 작성 및 호출
# 클로저 작성
def outer_function(message):
def inner_function():
print(message)
return inner_function
closure = outer_function("Hello, this is a closure!")
closure()
Day 7: 고급 함수 종합 연습 및 프로젝트
- 강의 내용:
- 고급 함수 종합 연습 문제 풀이
- 다양한 고급 함수 작성 및 호출 문제
- Q&A 세션
- 미니 프로젝트
- 주제 선정 및 프로그램 설계
- 고급 함수를 활용한 프로그램 구현 및 테스트
- 고급 함수 종합 연습 문제 풀이
- 실습:
- 종합 연습 문제 풀기
- 미니 프로젝트 작성 및 발표
# 연습 문제 1: 리스트의 각 요소에 제곱을 적용하는 함수 작성 (map 함수 사용)
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared) # [1, 4, 9, 16, 25]
# 연습 문제 2: 리스트에서 짝수만 필터링하는 함수 작성 (filter 함수 사용)
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens) # [2, 4]
# 연습 문제 3: 문자열을 입력받아, 단어의 개수를 세는 함수 작성 (클로저 사용)
def word_counter():
def count_words(sentence):
words = sentence.split()
return len(words)
return count_words
counter = word_counter()
sentence = "This is a sample sentence with seven words."
word_count = counter(sentence)
print(f"단어 개수: {word_count}")
이 강의는 파이썬의 고급 함수를 익히는 것을 목표로 하며, 각 강의는 이론과 실습을 포함합니다. 다음 주차에 대한 상세 강의를 원하시면 말씀해 주세요!
반응형
'-----ETC2----- > Python' 카테고리의 다른 글
[Python] Week 8: 튜플 (0) | 2024.06.01 |
---|---|
[Python] Week 7: 리스트 (0) | 2024.06.01 |
[Python] Week 5: 함수 정의 및 호출 (0) | 2024.06.01 |
[Python] Week 4: 반복문 (0) | 2024.06.01 |
[Python] Week 3: 조건문 (0) | 2024.06.01 |