def solution(a, b, *args, **kwargs):
print(a, b, args, kargs)
solution(1, 3, 6, 7, 8, age=29, name="jay")
๐ณ๐ณ *args, **kwargs ๋ผ๋..?
์ฌ์ง์ด ์์ ์ฝ๋์ฒ๋ผ ํจ์๋ฅผ ์ ๋ ฅํ๋ฉด
1,3, (6, 7, 8), {'age' : 29, 'name' : 'jay'}
์ด๋ ๊ฒ ํํ๊ณผ ๋์ ๋๋ฆฌ๊ฐ ํผ์ฌ๋์ด์ ์ถ๋ ฅ๋๋ค.
*args๋ *arguments์ ์ค์๋ง์ด๋ค.
positional argments ์ฆ ํจ์์ ๋งค๊ฐ ์ธ์ ๋ฐฉ์์ด ์์น ์ธ์ ๋ฐฉ์์ผ๋ก ํจ์๋ฅผ ์ ๋ฌํ๋ argments ๋ค์ด ์์๋๋ก ๋์ด๋๋ค.
๊ตณ์ด *args ๋ผ๊ณ ์์ฑํ์ง ์์๋ ๋๊ณ *friends ์ด์ฒ๋ผ ์์ฑํด๋ ์๋๋๋ค.
*args ๋ผ๋ ์ด ์ง์์ด๋ ์ฌ๋ฌ๊ฐ์ ์ธ์๋ฅผ ํจ์๋ก ๋ฐ๊ณ ์ ํ ๋ ์ฐ์ด๊ณ ํํํํ๋ก ์ถ๋ ฅ๋๋ค.
**kwargs๋ **keyword arguments ์ ์ค์๋ง์ด๋ค.
keyword arguments๋ keyword๊ฐ ์๋ ํํ์ ์ ํด์ง์ง ์์ ์์ arguments ๋ฅผ ๋ฐ๋๋ค.
ํค์๋='' ์ผ๋ก ์ ๋ ฅํ ๊ฒฝ์ฐ ๊ทธ๊ฒ์ key ์ value ๊ฐ์ ๋์ ๋๋ฆฌ๋ก ๋ฐํํ๋ค.
์ฐธ๊ณ ๋ก ์์
def solution(a, b, *args, **kwargs):
print(a, b, args, kargs)
solution(1, 3, 6, 7, 8, age=29, name="jay")
์ฝ๋์์ a,b ์๊ฐ์ ์ธ์๋ค์ regular positional arguments ์ด๋ค.
์ด ์ฌ๋ฌ ์ธ์๋ค์ด ๋์ฌ์ง๋ ์์น๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ด ์์น๋ฅผ ์ฐธ๊ณ ํ์ฌ ์๋ ์์ ๋ค์ ์์ ํด๋ณด์
def func_param_with_var_args(name, *args, age):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("์ ์ฐ์ฑ", "01012341234", "seoul", 20)
def func_param_with_var_args(name, age, *args):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("์ ์ฐ์ฑ", "01012341234", "seoul", 20)
def func_param_with_kwargs(name, age, **kwargs, address=0):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
func_param_with_kwargs("์ ์ฐ์ฑ", "20", mobile="01012341234", address="seoul")
def func_param_with_kwargs(name, age, address=0, **kwargs):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
func_param_with_kwargs("์ ์ฐ์ฑ", "20", mobile="01012341234", address="seoul")
def mixed_params(name="์์ด์ ", *args, age, **kwargs, address):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
mixed_params(20, "์ ์ฐ์ฑ", "01012341234", "male" ,mobile="01012341234", address="seoul")
def mixed_params(age, address, name="์์ด์ ", *args, **kwargs):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
mixed_params(20, "seoul", "์ ์ฐ์ฑ", "01012341234", "male" ,mobile="01012341234")
๋!