ν¨μ(Function)λ νΉμ μμ μ μννλ μ½λ λΈλ‘μ μλ―Ένλ€. ν¨μλ₯Ό μ¬μ©νλ©΄ μ½λμ μ¬μ¬μ©μ±μ λμ΄κ³ , λ Όλ¦¬μ ꡬ쑰λ₯Ό λ§λ€μ΄ νλ‘κ·Έλ¨μ λ ν¨μ¨μ μ΄κ³ κ°λ μ± μκ² μμ±ν μ μλ€.
νμ΄μ¬μμ ν¨μλ def
ν€μλλ₯Ό μ¬μ©νμ¬ μ μνλ©°, λ€μκ³Ό κ°μ κΈ°λ³Έμ μΈ νμμ λ°λ₯Έλ€.
# ν¨μ μ μ
def ν¨μμ΄λ¦(λ§€κ°λ³μ1, λ§€κ°λ³μ2, ...):
μνν μ½λ1
μνν μ½λ2
...
return λ°νκ°
# ν¨μ νΈμΆ
ν¨μμ΄λ¦()
def
: ν¨μλ₯Ό μ μν λ μ¬μ©νλ ν€μλ.return
: ν¨μμ κ²°κ³Όλ₯Ό λ°νν λ μ¬μ©. (λ°νκ°μ΄ μμΌλ©΄ μλ΅ κ°λ₯)return
ν€μλλ₯Ό ν΅ν΄ κ²°κ³Όλ₯Ό λ°ννκ±°λ, λ°ννμ§ μμ μλ μμ.def greet():
print("Hello, World!")
greet() # μΆλ ₯: Hello, World!
greet()
ν¨μλ μΈμλ₯Ό λ°μ§ μκ³ , νΈμΆλλ©΄ "Hello, World!"λΌλ λ©μμ§λ₯Ό μΆλ ₯νλ κ°λ¨ν ν¨μ.def greet_person(name):
print(f"Hello, {name}!")
greet_person("Alice") # μΆλ ₯: Hello, Alice!
greet_person("Bob") # μΆλ ₯: Hello, Bob!
greet_person(name)
ν¨μλ λ§€κ°λ³μ name
μ λ°μ, κ·Έ κ°μ μ¬μ©νμ¬ μΈμ¬ λ©μμ§λ₯Ό μΆλ ₯.def add(a, b):
return a + b
result = add(3, 4)
print(result) # μΆλ ₯: 7
add(a, b)
ν¨μλ λ κ°μ μΈμλ₯Ό λν κ²°κ³Όλ₯Ό return
ν€μλλ₯Ό ν΅ν΄ λ°νν¨.result
λ³μμ μ μ₯λ¨.def multiply(x, y): # x, yλ λ§€κ°λ³μ
return x * y
multiply(2, 3) # 2μ 3μ μΈμ
λ§€κ°λ³μμ κΈ°λ³Έκ°μ μ€μ νμ¬, ν¨μ νΈμΆ μ ν΄λΉ μΈμλ₯Ό μλ΅νλ©΄ κΈ°λ³Έκ°μ΄ μ¬μ©λλλ‘ ν μ μλ€.
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet("Alice") # μΆλ ₯: Hello, Alice!
greet("Bob", "Hi") # μΆλ ₯: Hi, Bob!
κ°λ³ μΈμλ μ ν΄μ§ κ°μ μ΄μμ μΈμλ₯Ό λ°μ λ μ¬μ©λλ€. *args
μ **kwargs
λ₯Ό μ¬μ©ν΄ ν¨μμ μμμ κ°μμ μΈμλ₯Ό μ λ¬ν μ μλ€.
*args
: νν ννλ‘ μ¬λ¬ μΈμλ₯Ό λ°μ μ μμ.**kwargs
: ν€μλ μΈμλ€μ λμ
λ리 ννλ‘ λ°μ μ μμ.# *args μ¬μ© μμ
def add_all(*args):
return sum(args)
print(add_all(1, 2, 3)) # μΆλ ₯: 6
print(add_all(5, 10)) # μΆλ ₯: 15
# **kwargs μ¬μ© μμ
def greet_people(**kwargs):
for name, greeting in kwargs.items():
print(f"{greeting}, {name}!")
greet_people(Alice="Hi", Bob="Hello", Charlie="Hey")
# μΆλ ₯:
# Hi, Alice!
# Hello, Bob!
# Hey, Charlie!
ν¨μλ μ°μ°μ μνν κ²°κ³Όλ₯Ό return
ν€μλλ‘ λ°νν μ μλ€.
def add(a, b):
return a + b # ν©μ λ°ν
result = add(3, 4) # λ°νλ κ°μ λ³μμ μ μ₯
print(result) # 7
add(a, b)
ν¨μλ λ κ°μ μΈμλ₯Ό λν κ²°κ³Όλ₯Ό return
ν€μλλ₯Ό ν΅ν΄ λ°νν¨.result
λ³μμ μ μ₯λ¨.None
λ°ννμ΄μ¬ ν¨μλ λͺ
μμ μΌλ‘ return
λ¬Έμ μ¬μ©νμ§ μμΌλ©΄ μλμΌλ‘ None
μ λ°ννλ€.
def add(a, b):
print("%d, %dμ ν©μ %dμ
λλ€." % (a, b, a+b)) # 3, 4μ ν©μ 7μ
λλ€.
print(add(3, 4)) # None
add()
ν¨μλ return
λ¬Έμ΄ μκΈ° λλ¬Έμ, ν¨μκ° νΈμΆλ ν μ무 κ°λ λ°ννμ§ μκ³ , κΈ°λ³Έμ μΌλ‘ None
μ λ°ν.add(3, 4)
ν¨μκ° νΈμΆλλ©΄ λ΄λΆμ μΌλ‘ print()
λ₯Ό ν΅ν΄ "3, 4μ ν©μ 7μ
λλ€."
κ° μΆλ ₯λμ§λ§, κ·Έ ν ν¨μλ None
μ λ°ννμ¬ print(add(3, 4))
μ κ²°κ³Όλ None
μ΄ λ¨.ν¨μλ μ°μ°μ μνν κ²°κ³Όλ₯Ό return
ν€μλλ‘ μ¬λ¬ κ°μ λ°νν μλ μλ€.
def get_person_info():
name = "Alice"
age = 25
return name, age # μ¬λ¬ κ° λ°ν
name, age = get_person_info()
print(name) # μΆλ ₯: Alice
print(age) # μΆλ ₯: 25