β’
μμΉ λ§€κ°λ³μ
β’
ν€μλ λ§€κ°λ³μ
β’
κΈ°λ³Έ λ§€κ°λ³μ
β’
κ°λ³ λ§€κ°λ³μ
β’
ν€μλ μ μ© λ§€κ°λ³μ
κ΅¬λΆ | μ μ λ°©μ | νΉμ§ | μμ νΈμΆ |
μμΉ λ§€κ°λ³μ (Positional) | def func(a, b): | μΈμμ μμμ λ°λΌ κ° μ λ¬ | func(10, 20) |
ν€μλ λ§€κ°λ³μ (Keyword) | def func(a, b): | νΈμΆ μ μ΄λ¦=κ° ννλ‘ μ λ¬, μμ λ¬΄κ΄ | func(b=20, a=10) |
κΈ°λ³Έκ°(μ ν) λ§€κ°λ³μ (Default/Optional) | def func(a, b=5): | κ°μ μ λ¬νμ§ μμΌλ©΄ κΈ°λ³Έκ° μ¬μ© | func(10) β b=5 |
κ°λ³ μμΉ λ§€κ°λ³μ (*args) | def func(*args): | μ¬λ¬ κ°μ μμΉ μΈμλ₯Ό ννλ‘ μ λ¬λ°μ | func(1, 2, 3) β (1, 2, 3) |
κ°λ³ ν€μλ λ§€κ°λ³μ (**kwargs) | def func(**kwargs): | μ¬λ¬ κ°μ ν€μλ μΈμλ₯Ό dictλ‘ μ λ¬λ°μ | func(x=1, y=2) β {'x':1,'y':2} |
ν€μλ μ μ© λ§€κ°λ³μ (Keyword-only) | def func(a, *, b, c=3): | * λ€ λ§€κ°λ³μλ 무쑰건 ν€μλ μΈμλ‘λ§ μ λ¬ | func(1, b=2) |
κ°λ³ μμΉ + ν€μλ νΌν© | def func(a, *args, b=1, **kwargs): | μμΉ, κΈ°λ³Έκ°, κ°λ³, ν€μλλ₯Ό μ‘°ν© κ°λ₯ | func(1, 2, 3, b=10, x=99) |
μμΉ λ§€κ°λ³μ (Positional Parameter)
β’
μμ(μμΉ) μ λ°λΌ μΈμκ° μ λ¬λλ λ§€κ°λ³μ
β’
κΈ°λ³Έ λ§€κ°λ³μ νν
def greet(name, age):
print(f"μλ
νμΈμ {name}λ, {age}μ΄ μ΄μκ΅°μ!")
# μμΉ μΈμ νΈμΆ
greet("μ² μ", 20)
greet("μν¬", 25)
Python
볡μ¬
ν€μλ λ§€κ°λ³μ (Keyword Parameter)
β’
νΈμΆν λ λ§€κ°λ³μ μ΄λ¦=κ° ννλ‘ μ λ¬
β’
μμμ μκ΄μμ΄ νΈμΆ κ°λ₯
def greet(name, age):
print(f"μλ
νμΈμ {name}λ, {age}μ΄ μ΄μκ΅°μ!")
# ν€μλ μΈμ νΈμΆ
greet(age=30, name="λ―Όμ")
Python
볡μ¬
κΈ°λ³Έκ°(μ ν) λ§€κ°λ³μ (Default / Optional Parameter)
β’
λ§€κ°λ³μμ κΈ°λ³Έκ°μ μ§μ νλ©΄ μ νμ μΌλ‘ μΈμ μ λ¬ κ°λ₯
def greet(name, age=20): # age κΈ°λ³Έκ° = 20
print(f"{name}λμ {age}μ΄μ
λλ€.")
greet("μν¬") # age μλ΅ β κΈ°λ³Έκ° μ¬μ©
greet("μ² μ", 25) # age μ§μ μ§μ
Python
볡μ¬
κ°λ³ μμΉ λ§€κ°λ³μ (*args)
β’
μ¬λ¬ κ°μ μμΉ μΈμλ₯Ό λ°μ μ μκ³ , νν(tuple) λ‘ μ λ¬λ¨
def show_numbers(*args):
print("args =", args)
show_numbers(1, 2, 3, 4)
Python
볡μ¬
κ°λ³ ν€μλ λ§€κ°λ³μ (**kwargs)
β’
μ¬λ¬ κ°μ ν€μλ μΈμλ₯Ό λ°μ μ μκ³ , λμ
λ리(dict) λ‘ μ λ¬λ¨
def show_info(**kwargs):
print("kwargs =", kwargs)
show_info(name="μ² μ", age=20, city="μμΈ")
Python
볡μ¬
ν€μλ μ μ© λ§€κ°λ³μ (Keyword-only Parameter)
β’
ν¨μ μ μμμ * λ€μ μ€λ λ§€κ°λ³μλ 무쑰건 ν€μλ μΈμλ‘λ§ νΈμΆν΄μΌ ν¨
첫 λ²μ§Έ μΈμλ μμΉ λ§€κ°λ³μ μ΄κ³ ,
* λ€μ μ€λ λ§€κ°λ³μλ€μ ν€μλ λ§€κ°λ³μλ‘λ§ μ¬μ©
def order(item, *, size="M", quantity=1):
print(f"μ£Όλ¬Έ: {item}, μ¬μ΄μ¦={size}, μλ={quantity}")
order("νΌμ", size="L", quantity=2) # β
μ μ
# order("νΌμ", "L", 2) # β μ€λ₯
Python
볡μ¬
λͺ¨λ μΈμκ° ν€μλ λ§€κ°λ³μλ‘ λ¬΄μ‘°κ±΄ μ¬μ©μ΄ λμ΄μΌνλ€.
def order(*, item, size="M"):
print(item, size)
# νΈμΆ
order(item="νΌμ") # β
κ°λ₯
order("νΌμ") # β μ€λ₯, μμΉ μΈμ μ λ¬ λΆκ°
Python
볡μ¬
κ°λ³ μμΉ + ν€μλ νΌν©
β’
*argsμ **kwargsλ₯Ό ν¨κ» μ¬μ©νλ©΄ μμΉ/ν€μλ μΈμλ₯Ό λͺ¨λ μ μ°νκ² λ°μ μ μμ
def demo_func(a, b=2, *args, c=10, **kwargs):
print("a =", a)
print("b =", b)
print("args =", args)
print("c =", c)
print("kwargs =", kwargs)
demo_func(1, 5, 6, 7, c=99, d=100, e=200)
Python
볡μ¬