반응형
파이썬의 함수
함수는 특정 작업을 수행하는 코드 블록으로, 코드를 재사용 가능하고 깔끔하게 작성할 수 있도록 도와줍니다. 파이썬에서 함수는 def
키워드를 사용하여 정의합니다.
1. 함수의 기본
함수는 정의(Definition)와 호출(Call)로 이루어집니다.
기본 구조
def 함수명(매개변수):
실행할 코드
예제
# 함수 정의
def greet(name):
print(f"Hello, {name}!")
# 함수 호출
greet("Alice") # 출력: Hello, Alice!
greet("Bob") # 출력: Hello, Bob!
2. 값을 반환하기
함수는 결과값을 return
키워드를 사용해 호출한 곳으로 반환할 수 있습니다.
기본 구조
def 함수명(매개변수):
실행할 코드
return 값
예제
# 두 수를 더하는 함수
def add(a, b):
return a + b
# 함수 호출 및 반환값 사용
result = add(3, 5)
print(result) # 출력: 8
여러 값 반환
함수는 여러 값을 튜플 형태로 반환할 수 있습니다.
def calculate(a, b):
return a + b, a - b, a * b, a / b
add_res, sub_res, mul_res, div_res = calculate(10, 2)
print(add_res, sub_res, mul_res, div_res)
# 출력: 12 8 20 5.0
3. 유효 범위(Scope)
파이썬 변수는 변수의 유효 범위(Scope)에 따라 접근 가능 여부가 달라집니다.
지역 변수(Local Variable)
- 함수 내부에서 선언된 변수는 지역 변수이며, 함수 외부에서는 접근할 수 없습니다.
전역 변수(Global Variable)
- 함수 외부에서 선언된 변수는 전역 변수이며, 함수 내부에서도 접근 가능합니다.
단, 함수 내부에서 전역 변수를 변경하려면global
키워드를 사용해야 합니다.
예제
x = 10 # 전역 변수
def func():
y = 5 # 지역 변수
print(x) # 전역 변수 접근 가능
print(y) # 지역 변수
func()
# 출력: 10, 5
print(x) # 전역 변수는 접근 가능
# print(y) # 에러 발생: 지역 변수는 함수 외부에서 접근 불가
global
키워드 사용
x = 10
def modify_global():
global x
x = 20 # 전역 변수 수정
modify_global()
print(x) # 출력: 20
4. 더 알면 좋은 것
1) 기본 매개변수 값(Default Parameter)
- 함수 호출 시 매개변수를 전달하지 않을 경우 기본값을 사용합니다.
def greet(name="Guest"): print(f"Hello, {name}!")
greet() # 출력: Hello, Guest!
greet("Alice") # 출력: Hello, Alice!
#### **2) 키워드 인수(Keyword Argument)**
- 함수 호출 시 매개변수 이름을 명시하여 값을 전달할 수 있습니다.
```python
def introduce(name, age):
print(f"My name is {name} and I am {age} years old.")
introduce(age=25, name="Alice") # 순서를 바꿔도 정상적으로 동작
3) 가변 인수(args, *kwargs)
*args
: 임의 개수의 위치 인수를 받을 수 있습니다.- `kwargs`**: 임의 개수의 키워드 인수를 받을 수 있습니다.
# *args 예제
def add_all(*args):
return sum(args)
print(add_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="Alice", age=25, city="New York")
# 출력:
# name: Alice
# age: 25
# city: New York
4) 람다 함수(Lambda Function)
- 간단한 함수를 한 줄로 작성할 때 사용합니다.
# 일반 함수 def add(a, b): return a + b # 람다 함수 add = lambda a, b: a + b print(add(3, 5)) # 출력: 8
이렇게 함수를 활용하면 코드의 재사용성과 가독성을 높일 수 있습니다. 람다 함수는 이름 없이 lambda
키워드로 간단히 정의된 익명 함수로, 한 줄로 표현되는 간단한 연산에 사용됩니다.
'실버를 위한 코딩 > 파이썬' 카테고리의 다른 글
클래스의 매개변수 self에 대해 알아보기 (1) | 2024.12.05 |
---|---|
객체 지향 프로그램의 핵심, 클래스(class) (0) | 2024.12.04 |
반복문: for, while, 중첩 반복문, 반복문 제어 (1) | 2024.12.02 |
조건문: if, elif, else 문 (1) | 2024.12.01 |
파이썬의 다양한 연산자 (1) | 2024.11.30 |