def 함수이름 (변수) :
실행코드
return 반환값
#반환값이 없을수도 있음.
def greet(name):
return f"안녕하세요, {name}님!"
message = greet("Alice")
print(message) # 안녕하세요, Alice님!
------------------------------------
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
- 복수 반환값
함수가 여러값을 반환할 수 있고, 반환값는 튜플타입
def calculate(a, b):
sum = a + b
difference = a - b
return sum, difference
s, d = calculate(10, 5)
print(s) # 15
print(d) # 5
- 매개변수 기본값
인수가 전달되지 않을 시 기본값 사용
여러 매개변수가 기본값을 가질 수 있으나, 기본값이 있는 매개변수는 없는 변수 뒤에 와야함
def greet(name="손님"):
return f"안녕하세요, {name}님!"
print(greet()) # 안녕하세요, 손님님!
print(greet("Alice")) # 안녕하세요, Alice님!
-------------------------------------
def order(item, quantity=1, price=1000):
return f"{item} {quantity}개 주문하셨습니다. 총 가격은 {quantity * price}원입니다."
print(order("사과")) # 사과 1개 주문하셨습니다. 총 가격은 1000원입니다.
print(order("바나나", 2)) # 바나나 2개 주문하셨습니다. 총 가격은 2000원입니다.
print(order("딸기", 3, 1500)) # 딸기 3개 주문하셨습니다. 총 가격은 4500원입니다.
- 가변 매개변수
정해지지 않은 개수의 인수를 받을 수 있고, *args와 kwargs가 있음.
*args는 인수의 튜플을 받음.
*kwargs는 인수의 딕셔너리를 받음.
*args와 kwargs를 함께 사용할 땐 args 먼저 정의해야 함.
#*args 예시
def add(*args):
return sum(args)
print(add(1, 2, 3)) # 6
print(add(10, 20, 30, 40)) # 100
-----------------------------------
#*kwargs 예시
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=30, city="Seoul")
# name: Alice
# age: 30
# city: Seoul
-------------------------------------
#*args와 *kwargs 함께 사용 예시
def mix_parameters(a, b, *args, **kwargs):
print(f"a: {a}, b: {b}")
print("args:", args)
print("kwargs:", kwargs)
mix_parameters(1, 2, 3, 4, 5, key1="value1", key2="value2")
# a: 1, b: 2
# args: (3, 4, 5)
# kwargs: {'key1': 'value1', 'key2': 'value2'}