안녕하세요! 그레이 해커 월횽입니다. 오늘은 파이썬(Python)에서 반복적으로 사용되는 함수에 대해 준비했습니다.
1. 함수란?
함수는 반복적으로 사용되는 코드를 묶어 하나의 블록으로 만든 것입니다. 함수를 사용하면 코드의 재사용성과 가독성이 높아집니다. Python에서는 내장 함수뿐만 아니라 사용자가 직접 사용자 정의 함수를 만들 수 있습니다.
2. 함수 정의하기
함수는 def 키워드를 사용해 정의합니다.
기본 구조
def 함수이름(매개변수):
실행할 코드
return 반환값
예시: 간단한 함수 정의
def greet():
print("안녕하세요!")
greet() # 함수 호출
3. 매개변수와 인자 (Parameters and Arguments)
함수는 매개변수를 통해 값을 전달받아 작업을 수행할 수 있습니다.
예시: 매개변수가 있는 함수
def greet(name):
print("안녕하세요,", name, "님!")
greet("월횽") # '안녕하세요, 월횽 님!' 출력
여기서 name은 매개변수, 월횽은 인자입니다.
4. 반환값 (Return Value)
함수는 return 키워드를 사용해 결과값을 반환할 수 있습니다.
예시: 두 수를 더하는 함수
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8 출력
5. 기본 매개변수 (Default Parameter)
매개변수에 기본값을 지정하면, 함수 호출 시 인자를 생략해도 기본값이 사용됩니다.
예시: 기본 매개변수가 있는 함수
def greet(name="친구"):
print("안녕하세요,", name, "님!")
greet() # '안녕하세요, 친구 님!' 출력
greet("월횽") # '안녕하세요, 월횽 님!' 출력
6. 여러 값 반환하기
Python 함수는 여러 값을 반환할 수 있으며, 반환된 값은 튜플(tuple) 형태로 전달됩니다.
예시: 두 값 반환
def calculate(a, b):
sum = a + b
product = a * b
return sum, product
result_sum, result_product = calculate(3, 4)
print(result_sum) # 7 출력
print(result_product) # 12 출력
7. 가변 매개변수 (*args, **kwargs)
함수에서 매개변수의 수를 미리 정하지 않고, 가변 매개변수를 사용할 수 있습니다.
예시: *args
*args는 여러 개의 인자를 튜플 형태로 받을 수 있습니다.
def add_many(*args):
result = 0
for num in args:
result += num
return result
print(add_many(1, 2, 3)) # 6 출력
print(add_many(10, 20, 30, 40)) # 100 출력
예시: **kwargs
**kwargs는 키워드 인자를 딕셔너리 형태로 받을 수 있습니다.
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="월횽", age=30, city="서울")
8. 함수의 범위(Scope)
함수 내에서 선언된 변수는 함수 내부에서만 유효하며, 이를 지역 변수(local variable)라고 합니다. 함수 외부에서 선언된 변수는 전역 변수(global variable)라고 부릅니다.
예시: 지역 변수와 전역 변수
x = 10 # 전역 변수
def my_function():
x = 5 # 지역 변수
print("함수 내부:", x)
my_function() # '함수 내부: 5' 출력
print("함수 외부:", x) # '함수 외부: 10' 출력
다음 시간에는 리스트, 튜플, 딕셔너리와 같은 데이터 구조에 대해 배워보겠습니다.
- 이전 수업 목록
'프로그래밍 > Python' 카테고리의 다른 글
[Python 강의] 6강 - 파일 입출력 (0) | 2024.10.07 |
---|---|
[Python 강의] 5강 - 데이터 구조 (리스트, 튜플, 딕셔너리, 집합) (0) | 2024.10.04 |
[Python 강의] 3강 - 반복문 (for, while) 이해하기 (0) | 2024.10.02 |
[Python 강의] 2강 - Python 기본 문법 익히기 (2) | 2024.10.01 |
[Python 강의] 1강 - Python 소개 및 환경 설정 (2) | 2024.09.30 |