Python-parameter.md


Python ํ•จ์ˆ˜ ์„ ์–ธ๋ถ€์— ๋ณด๋ฉด ๊ฐ€๋” args, kwargs๋ฅผ ๋ณผ์ˆ˜ ์žˆ๋‹ค.

  • args : ์ •ํ•ด์ง€์ง€ ์•Š์€ ์ˆ˜์˜ (์ผ๋ฐ˜)ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค

  • kwargs : ์ •ํ•ด์ง€์ง€ ์•Š์€ ์ˆ˜์˜ (ํ‚ค์›Œ๋“œ)ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค ? ์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆด๊นŒ ์ฐจ๊ทผ์ฐจ๊ทผ ์ดํ•ดํ•ด๋ณด์ž

Python์˜ Parameter

  • ์ผ๋ฐ˜ ํŒŒ๋ผ๋ฏธํ„ฐ

def myFunc(a, b):
    return a + b
myFunc(1, 2)

์œ„์™€ ๊ฐ™์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ

  • ํ‚ค์›Œ๋“œ ํŒŒ๋ผ๋ฏธํ„ฐ

def myFunc(a=0, b=1):
    return a + b
myFunc(1, 2)

์œ„์™€ ๊ฐ™์ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„๊ณผ ํ•จ๊ป˜ default๊ฐ’์„ ์ง€์ •ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ›์œผ๋ฉด ๋˜์ง€๋งŒ,

def myFunc(a=0, b=3, c=1):
    return a + b + c

์œ„์˜ ๊ฒฝ์šฐ์—์„œ a,b๋Š” ๊ธฐ๋ณธ ์ธ์ž ๊ฐ’ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  c์—๋งŒ ๋‹ค๋ฅธ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ

์ด๋ ‡๊ฒŒ ํ˜ธ์ถœํ•˜๋Š” ์ชฝ์—์„œ ๋ณ€์ˆ˜๋ช…(ํ‚ค์›Œ๋“œ)๋ฅผ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ํ‚ค์›Œ๋“œ ์ธ์ž๋Š” ์ผ๋ฐ˜ ์ธ์ž ๋’ค์— ์™€์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ํ˜ธ์ถœํ•  ๋•Œ์—๋„ ์ผ๋ฐ˜ ์ธ์ž ๋’ค์— ์™€์•ผํ•œ๋‹ค.

์ด์ œ args์™€ kwargs๋ฅผ ๋ณด์ž

**kwargs๋Š” ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ํ‚ค์›Œ๋“œ ์ธ์ž๋“ค ์ค‘์—์„œ ์ผ๋ฐ˜ ์ธ์ž๊ฐ€ ์•„๋‹Œ ๊ฒƒ๋“ค์„ ๋„˜๊ฒจ ๋ฐ›๋Š”๋‹ค. *args๋Š” ์ผ๋ฐ˜ ์ธ์ž๊ฐ’์„ ๋ฐ›์œผ๋ฏ€๋กœ **kwargs์™€ ํ˜ผ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ **kwargs๊ฐ€ ๋’ค์— ์™€์•ผ ํ•œ๋‹ค.

Last updated