<Python> 함수 작성 및 호출
- Developer/Python
- 2023. 8. 1.
반응형
파이썬 함수 소개
함수는 특정 기능을 수행하는 코드 블록입니다. 파이썬에서 함수는 def 키워드를 사용하여 정의하며, 원하는 만큼 매개변수를 사용할 수 있습니다.
함수는 프로그램을 구성하는 기본 구성 요소입니다. 재사용 가능한 코드를 작성하고 이를 필요한 곳에서 호출함으로써 프로그램의 구조와 흐름을 제어할 수 있습니다.
함수 작성 예시
다음은 간단한 함수 작성 예시입니다.
def greet(name):
print("Hello, " + name + "!")
이 함수는 name이라는 매개변수를 받아 인사하는 메시지를 출력합니다.
함수 호출하기
함수를 호출하여 실행하려면 함수 이름 뒤에 괄호를 사용하고 필요한 인수를 전달합니다.
함수 호출 예시
앞서 정의한 함수를 호출해봅니다.
greet("Alice") # 출력: Hello, Alice!
반환값과 return문
함수에서 값을 반환하려면 return문을 사용하여 결과를 반환할 수 있습니다.
반환값을 가진 함수 작성 예시
두 숫자를 더하여 결과를 반환하는 함수를 작성합니다.
def add(a, b):
result = a + b
return result
반환값 받기
함수에서 반환된 값을 변수에 저장하여 사용할 수 있습니다.
sum_result = add(3, 5)
print(sum_result) # 출력: 8
기본값 매개변수
함수의 매개변수 중 일부 또는 전부 기본값을 지정할 수 있습니다. 인수를 전달하지 않으면 기본값이 사용됩니다.
기본값을 가진 매개변수 예시
def greet(name, greeting="Hello"):
print(greeting + ", " + name + "!")
greet("Bob") # 출력: Hello, Bob!
greet("Alice", "Hi") # 출력: Hi, Alice!
키워드 인수
함수 호출 시 인수를 전달할 때 변수 이름을 사용하여 매개변수에 직접 인수를 전달할 수 있습니다. 키워드 인수를 사용하면 인수의 순서를 걱정하지 않고 가독성이 높은 코드를 작성할 수 있습니다.
키워드 인수 사용 예시
def display_info(name, age, city):
print(f"{name} is {age} years old and lives in {city}.")
display_info("Alice", 30, "New York") # 출력: Alice is 30 years old and lives in New York.
display_info(age=25, city="London", name="Bob") # 출력: Bob is 25 years old and lives in London.
가변 매개변수
*args와 **kwargs를 사용하여 가변 개수의 인수를 전달할 수 있습니다.
*args: 튜플 형식으로 여러 개의 위치 인수를 받습니다.**kwargs: 딕셔너리 형식으로 여러 개의 키워드 인수를 받습니다.
가변 매개변수 사용 예시
def print_args(*args):
for i, value in enumerate(args):
print(f"Argument {i + 1}: {value}")
print_args(2, "hello", 9.5) # 출력: Argument 1: 2
# Argument 2: hello
# Argument 3: 9.5
def print_kwargs(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_kwargs(name="Alice", age=30, city="New York") # 출력: name: Alice
# age: 30
# city: New York
이 글을 통해 파이썬에서 함수를 작성하고 호출하는 방법에 대해 간단하게 살펴보았습니다.
감사합니다.
'Developer > Python' 카테고리의 다른 글
| <Python> 패키지와 패키지 관리 (0) | 2023.08.03 |
|---|---|
| <Python> 람다 함수와 map(), filter() 함수 (0) | 2023.08.02 |
| <Python> List Comprehension (1) | 2023.07.31 |
| <Python> 반복문과 이터레이터 (0) | 2023.07.31 |
| <Python> 조건문 및 제어 구조 사용 (0) | 2023.07.30 |