티스토리 뷰
728x90
반응형
파이썬에서 함수는 특정 작업을 수행하기 위해 설계된 코드 블록입니다. 함수를 사용하면 코드의 재사용성을 높이고, 프로그램을 더 구조적이고 이해하기 쉽게 만들 수 있습니다. 이번 글에서는 함수의 정의, 사용법, 그리고 다양한 예제를 통해 기본 개념을 설명하겠습니다.
1. 함수의 정의
함수는 def 키워드를 사용하여 정의합니다. 함수의 기본 구조는 다음과 같습니다:
python
def 함수이름(매개변수1, 매개변수2):
# 실행할 코드
return 반환값
- 함수이름: 함수의 이름으로, 호출 시 사용할 이름입니다.
- 매개변수: 함수에 전달되는 입력값입니다. 여러 개의 매개변수를 사용할 수 있습니다.
- return: 함수의 결과를 반환합니다. 반환값이 없으면 기본적으로 None을 반환합니다.
2. 함수 정의 및 호출 예제
2.1 간단한 함수 정의
아래는 두 숫자를 더하는 간단한 함수입니다.
python
def add(a, b):
return a + b
이 함수를 호출하면 두 숫자의 합을 얻을 수 있습니다.
python
result = add(3, 5)
print(result) # 8
2.2 매개변수가 없는 함수
매개변수가 없는 함수도 정의할 수 있습니다. 예를 들어, 인사말을 출력하는 함수를 만들어 보겠습니다.
python
def greet():
print("안녕하세요!")
greet() # 안녕하세요!
3. 기본 매개변수 값
함수 정의 시 매개변수에 기본값을 지정할 수 있습니다. 기본값이 설정된 매개변수는 호출 시 생략할 수 있습니다.
python
def greet(name="손님"):
print(f"안녕하세요, {name}님!")
greet() # 안녕하세요, 손님님!
greet("홍길동") # 안녕하세요, 홍길동님!
4. 여러 개의 반환값
함수는 여러 개의 값을 반환할 수 있습니다. 반환할 값을 튜플로 묶어서 반환하면 됩니다.
python
def get_info():
name = "홍길동"
age = 30
return name, age
person = get_info()
print(person) # ('홍길동', 30)
# 튜플 언패킹
name, age = get_info()
print(name) # 홍길동
print(age) # 30
5. 가변 매개변수
가변 매개변수는 함수에 전달되는 인자의 개수가 정해져 있지 않을 때 사용합니다. *args를 사용하여 가변 인자를 받을 수 있습니다.
python
def sum_all(*args):
total = 0
for num in args:
total += num
return total
result = sum_all(1, 2, 3, 4, 5)
print(result) # 15
6. 함수 문서화
함수에 대한 설명을 추가하는 것은 좋은 습관입니다. 파이썬에서는 함수의 첫 번째 줄에 docstring을 작성하여 함수의 목적과 사용법을 문서화할 수 있습니다.
python
def multiply(a, b):
"""
두 숫자를 곱하는 함수입니다.
매개변수:
a (int 또는 float): 첫 번째 숫자
b (int 또는 float): 두 번째 숫자
반환값:
int 또는 float: 두 숫자의 곱
"""
return a * b
7. 익명 함수 (람다 함수)
파이썬에서는 lambda 키워드를 사용하여 한 줄로 간단한 함수를 정의할 수 있습니다. 이를 람다 함수라고 합니다.
python
add = lambda x, y: x + y
result = add(3, 5)
print(result) # 8
728x90
반응형
'Python' 카테고리의 다른 글
[기초강의] 파이썬 예외 처리 및 오류 관리 (try, except) (1) | 2024.08.13 |
---|---|
[기초강의] 파이썬 람다 함수 (0) | 2024.08.13 |
[기초강의] 파이썬 파일 입출력 기본 (2) | 2024.08.13 |
[기초강의] 파이썬 문자열 조작과 포매팅 기초 (1) | 2024.08.13 |
[기초강의] 파이썬의 기본 데이터 구조: 리스트, 튜플, 세트, 딕셔너리 (1) | 2024.08.13 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TorchVision
- github action
- 클래스형 뷰
- 토치비전
- chat gpt 가격 예상
- chat gpt api 비용 계산
- 장고 orm sql문 비교
- pytorch
- 티스토리챌린지
- chat gpt 모델별 예산
- Numpy
- f-string
- Python
- 로또 ai
- 1165회 로또
- 로또 1164회 당첨
- python import
- 1164회 로또
- chat gpt 모델 별 가격
- 오블완
- python 문자열 슬라이싱
- chat gpt 한국어 가격
- GitHub
- 텍스트 전처리
- 케라스
- 텍스트 마이닝
- 인공지능 로또 예측
- chat gpt 모델 api 가격 예측
- chat gpt 4o 예산
- postgre
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함