개발관련
파이썬 강좌 4 - 함수
우원우
2024. 12. 20. 22:10
728x90
반응형
2024.12.20 - [개발관련] - 파이썬 강좌3 - 파이썬 제어문
파이썬 강좌3 - 파이썬 제어문
2024.12.20 - [개발관련] - 파이썬 강좌 2 - 파이썬 기본 문법 3장: 파이썬 제어문1. 제어문의 개념제어문은 프로그램의 흐름을 제어하는 데 사용됩니다.조건에 따라 다른 코드를 실행하거나, 반복
woowonwoo.tistory.com
4장: 파이썬 함수
1. 함수란 무엇인가?
함수는 코드의 재사용성과 가독성을 높이기 위해 사용됩니다.
- 함수는 특정 작업을 수행하는 코드 블록입니다.
- 필요할 때 호출해서 사용할 수 있습니다.
- 코드 재사용: 한 번 작성한 코드를 여러 번 사용할 수 있습니다.
- 가독성 향상: 코드가 명확해지고 구조화됩니다.
- 유지보수 용이: 코드 변경이 쉽습니다.
2. 함수의 기본 구조
2.1 함수 정의파이썬에서 함수는 def 키워드로 정의합니다.
기본 문법:
def 함수이름(매개변수):
실행문
return 반환값 # 반환값은 선택적
정의된 함수를 호출하려면 함수 이름과 괄호를 사용합니다.
def say_hello():
print("안녕하세요!")
say_hello() # 함수 호출
예제:
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 출력: 8
3. 함수의 매개변수와 반환값
3.1 매개변수(Parameter)함수에 데이터를 전달하는 변수입니다.
def greet(name):
print(f"안녕하세요, {name}님!")
greet("바보") # 출력: 안녕하세요, 바보님!
매개변수에 기본값을 설정할 수 있습니다.
def greet(name="손님"):
print(f"안녕하세요, {name}님!")
greet() # 출력: 안녕하세요, 손님님!
greet("바보") # 출력: 안녕하세요, 바보님!
3.3 반환값(Return Value)
4.2 키워드 매개변수
5.2 전역 변수 수정하기
6.2 람다 함수 활용
함수가 실행한 결과를 반환할 수 있습니다.
def multiply(a, b):
return a * b
result = multiply(2, 3)
print(result) # 출력: 6
4. 다양한 함수 사용 방법
4.1 가변 매개변수매개변수 개수가 정해져 있지 않을 때, *args를 사용합니다.
def sum_all(*args):
return sum(args)
print(sum_all(1, 2, 3, 4, 5)) # 출력: 15
키와 값을 매개변수로 전달하려면 **kwargs를 사용합니다.
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="바보", age=22, job="개발자")
# 출력:
# name: 바보
# age: 22
# job: 개발자
5. 함수의 스코프(Scope)
5.1 지역 변수와 전역 변수- 지역 변수(Local Variable): 함수 내부에서만 사용 가능한 변수.
- 전역 변수(Global Variable): 함수 외부에서도 접근 가능한 변수.
예제:
x = 10 # 전역 변수
def func():
x = 5 # 지역 변수
print("함수 내부:", x)
func() # 출력: 함수 내부: 5
print("함수 외부:", x) # 출력: 함수 외부: 10
global 키워드를 사용하면 함수 내부에서 전역 변수를 수정할 수 있습니다.
x = 10
def func():
global x
x = 20
func()
print(x) # 출력: 20
6. 람다 함수
6.1 람다 함수란?람다 함수는 간단한 함수를 한 줄로 작성하는 방법입니다.
- lambda 매개변수: 반환값
예제:
add = lambda x, y: x + y
print(add(3, 5)) # 출력: 8
람다 함수는 보통 다른 함수의 매개변수로 사용됩니다.
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared) # 출력: [1, 4, 9, 16, 25]
7. 연습 문제
- 간단한 계산기 함수
def calculator(a, b, operation):
if operation == "add":
return a + b
elif operation == "subtract":
return a - b
elif operation == "multiply":
return a * b
elif operation == "divide":
return a / b
else:
return "잘못된 연산자입니다."
print(calculator(10, 5, "add")) # 출력: 15
- 기본값 매개변수 사용
def greet(name="친구"):
print(f"안녕하세요, {name}님!")
greet() # 출력: 안녕하세요, 친구님!
greet("바보") # 출력: 안녕하세요, 바보님!
- 가변 매개변수로 리스트 합 구하기
def sum_numbers(*args):
return sum(args)
print(sum_numbers(1, 2, 3, 4, 5)) # 출력: 15
- 람다 함수로 리스트 필터링
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 출력: [2, 4, 6]
8. 요약
- 함수는 코드 재사용을 위해 사용됩니다.
- 매개변수를 통해 데이터를 전달하고, 결과값을 반환할 수 있습니다.
- *args와 **kwargs로 다양한 형태의 매개변수를 받을 수 있습니다.
- 람다 함수는 간단한 작업을 위한 익명 함수입니다.
다음 장에서는 파이썬의 자료구조에 대해 학습하겠습니다! 😊
728x90
반응형