파이썬 함수 만들기

채채·2024년 11월 26일
  • 기본 방식
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'}
profile
화이팅

0개의 댓글