๐ ํ์ด์ฌ Function Parameters
ํ์ด์ฌ Function Parameters์ ๋ํด ์์๋ณด์
๐ default value parameter& non-default value parameter
-
default value parameter : ์ธ์๊ฐ์ ๋ฏธ๋ฆฌ ์ง์ ํ ๊ฒ
ex.def member(member="๊ฐ์ฌ๊ธฐ")
-
non-default value parameter: ์ธ์๊ฐ์ ์ง์ ํ์ง ์์ ๊ฒ
ex.def member(age)
default value parameter๋ non-default value parameter ์์ ์์นํ๋ฉด ์๋๋ค!!!
def member(member="๊ฐ์ฌ๊ธฐ",age, group)
return f"{member}์ ๋์ด๋ {age}์
๋๋ค."
์ด๋ ๊ฒ ํจ์๋ฅผ ์ ์ํ ๋ ์๋ฌ๊ฐ ์๊ธด๋ค.
non-default value parameter๊ฐ default argument์์ ์์ผํ๋ค๊ณ ํ๋ค.
์ ์๋๋๋ฐ?
์ผ๋จ ํ์ด์ฌ์์๋ default value parameter๊ฐ non-default value parameter ์์ ์๋ ์ํ๋ก ํจ์๊ฐ ์ ์ ๋์ง ์๋๋ค!
์ฆ ํ์ด์ฌ์์ ์์ ํ๋ฆฐ ๋ฌธ๋ฒ์ผ๋ก ๊ท์ ํ๊ณ ์๋ ๊ฒ์ด๋ค.
๋ง์ฝ ํ์ด์ฌ์์ ์ด๋ ๊ฒ ์ ์ํ๋๊ฒ์ ํ์ฉํ๋ค๊ณ ๊ฐ์ ํด๋ณด์
def member(member="๊ฐ์ฌ๊ธฐ",age, gropup)
return f"{member}์ ๋์ด๋ {age}์
๋๋ค."
member(28, "๋ ๋๋ฒจ๋ฒณ")
์ด๋ ๊ฒ ๋๋ฉด ๋ฌธ์ ๊ฐ ์๊ธฐ๋๊ฒ member์ธ์๋ฅผ ์ง์ ์ ํ๋์ง ์ํ๋์ง๋ฅผ ์ปดํจํฐ ์
์ฅ์์ ํ์ ํ ์ ์๋ค.
๋ฌผ๋ก member("๊ฐ์ฌ๊ธฐ", 28, "redvelvet")
์ด๋ ๊ฒ ์ง์ ํ ์๋ ์์ง๋ง
์ด๋ ๊ฒ ์ง์ ์ ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ์ด์ฌ์์ ์์ ๋ง์๋ ๊ฒ ๊ฐ๋ค.
์ ํจ์๊ฐ ์๋ํ๋ ค๋ฉด
def member(age, gropup, member="๊ฐ์ฌ๊ธฐ")
return f"{member}์ ๋์ด๋ {age}์
๋๋ค."
member(28, "๋ ๋๋ฒจ๋ฒณ")
์ง์ ์ธ์๊ฐ ์๋ member๋ฅผ ๋ค๋กํ๋ฉด ์ ์๋ํ๋ค.
๐ ์์น ์ธ์(positional arguments)์ ๊ฐ๋ณ ์ธ์(variable length arguments)
- ์์น ์ธ์(positional arguments): ํจ์์ ์ธ์๋ฅผ ์์๋๋ก ๋ฃ๋ ๋ฐฉ์
ex.)
def member(name, age, group)
member("๊ฐ์ฌ๊ธฐ", 28, "RedVelvet")
- ๊ฐ๋ณ ์ธ์(variable length arguments) : ์ธ์์ ๊ฐ์๊ฐ ์ ํด์ง์ง ์์ ๋ฐฉ์
ex.)
def member(*args):
for i in args:
print(i)
member('1','2','3','4')
>>>1
>>>2
>>>3
>>>4
๊ฐ๋ณ์ธ์๋ก ์ค์ ๋ ํจ์์ ์์น์ธ์ ์ฌ๋ฌ๊ฐ๋ฅผ ๋ฃ์ผ๋ฉด ํ๋์ ํํ๊ฐ์ฒด๋ก ์ธ์ํ๋ค.
def member(*args):
print(type(args))
>>> <class 'tuple'>
๊ฐ๋ณ์ธ์์ ์์น
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)
์ ์ฝ๋๋ฅผ ์คํํ๋ฉด
์๋ฐ ์๋ฌ๊ฐ ๋ฌ๋ค.
age์ธ์๊ฐ ์ด๋จ๋๊ณ ํ๋ค.
์์ด๋ฐ ์๋ฌ๊ฐ ๋ด์๊น ์๊ฐํด๋ณด๋ฉด ๋ด๊ฐ ์ธ์๋ก ๋๊ธด๊ฐ์ ์ด๋๊น์ง๊ฐ *args์ธ์ง ํ์ด์ฌ ์ ์ฅ์์๋ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ age์ธ์๊ฐ ์ด๋จ๋๊ณ ํ๋ค. ๊ทธ๋์ ์ ์์๋์ ์ํด์ ์ด๋ ๊ฒ ๊ณ ์ณ์ค๋ค.
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)
>>>name=์ ์ฐ์ฑ
>>>args=('seoul', 20)
>>>age=01012341234
๋๋
func_param_with_var_args("์ ์ฐ์ฑ", "01012341234", "seoul", age=20)
20์ age์ธ์์ ํค์๋๋ก ์ง์ ํด์ ๋ณด๋ด์ค๋ ๋๋ค.
๐ ๊ฐ๋ณ ํค์๋ ์ธ์ (variable length keyword arguments)
- ๊ฐ๋ณ ํค์๋ ์ธ์: key : valueํํ๋ก ๋ ์ธ์๋ก ์ฌ์ฉํ๋ ๊ฒ
ex.)
def member(**kwargs):
print(type(kwargs))
for i in kwargs.items():
print(i)
member(name='์ฌ๊ธฐ', age=28, group='redvelvet')
>>> <class 'dict'>
>>>('name', '์ฌ๊ธฐ')
>>>('age', 28)
>>>('group', 'redvelvet')
- ํจ์ ์ธ์์ด๋ฆ์์ **์ ๋ถ์ด๋ฉด ๋์ ๋๋ฆฌ ํํ๋ฅผ ์ธ์๋ก ๋๊ฒจ์ค์ ์๊ณ ํจ์๋ dictํด๋์ค ๊ฐ์ฒด๋ก ์ธ์ํ๋ค.
๊ฐ๋ณ ํค์๋ ์ธ์ ์์น
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")
๊ฐ๋ณ ํค์๋ ์ธ์๋ ๊ฐ๋ณ์ธ์์ ์์น ๋ฌธ์ ์ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ์์ ํจ์ ์ ์ธ์ด๋์ง ์๋๋ค.
์ด๊ฒ๋ ๋ณด๋ฉด ํ์ด์ฌ์์ ์๋! ๋๊ฐ ์ค ์ธ์(func_param_with_kwargs("์ ์ฐ์ฑ", "20", mobile="01012341234", address="seoul")
)์์ ์ด๋๊น์ง๊ฐ ํค์๋ ์ธ์์ผ! ํด์ ํจ์ ์ ์ธ์ด ์๋๋ค. addfess="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")
- ๊ฐ๋ณ ํค์๋ ์ธ์๋ฅผ ๋งจ๋ค๋ก ๋ณด๋ด๋ฉด ํด๊ฒฐ!
์์น ์ธ์์ ํค์๋ ๊ฐ๋ณ ํค์๋ ์ธ์ (variable length keyword arguments)์ ์์น
- ์ด๋ฒ์ ๊ฐ๋ณ์ธ์ ๊ฐ๋ณ ํค์๋ ์ธ์ ํค์๋ ์ธ์๋ฑ ์ฃ๋ค ๋์์ ๋ ์์น๋ฅผ ํ์ธํด๋ณด์
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")
์์ฃผ ์ด์ฒด์ ๋๊ตญ์ด๋ค ์ง๊ธ๊น์ง ๋ฐฐ์ด๊ฑธ ์ข
ํฉํด๋ณด์๋ฉด
ํค์๋์ธ์๋ ์์น์ธ์๋ณด๋ค ๋ค์ ์์ด์ผ ํ๊ณ ํค์๋ ์ธ์๋ ๊ฐ๋ณ ํค์๋ ์ธ์๋ณด๋ค ์์ ์์ด์ผํ๋ค. ์ด๋ฅผ ์์ฉํด์ ๊ณ ์ณ๋ณด์
1ํธ
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, "์ ์ฐ์ฑ", "01012341234", "male" ,mobile="01012341234", address="seoul")
- ์์ ๊ฐ์๊ฒ ๋์ ํ์ง๋ง address์ธ์๋ ์ด๋จ๋๋ ์ค๋ฅ๊ฐ ๋ด๋ค.
์๋ฌด๋ฆฌ ๋์์ป๊ณ ๋ด๋ ์ ์๋ ๊น ํ์ง๋ง ํํ ๋ง์ง๋ง์ address๊ฐ ์ธ์์ ์ด๋ฆ๊ณผ ๋๊ฐ์์ ํค์๋ ์ธ์์ ์๋ค์ด ๊ฐ ๊ฒ ๊ฐ๋ค.
2ํธ
def mixed_params(age, name="์์ด์ ", *args,address, **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, "์ ์ฐ์ฑ", "01012341234", "male" ,mobile="01012341234", address="seoul")
์ ๋ฆฌํด๋ณด์๋ฉด
age = 20
name="์์ด์ " -> "์ ์ฐ์ฑ"
*args = "01012341234", "male"
address = "seoul"
**kwargs = mobile = "01012341234"
ํค์๋ ์ธ์๊ฐ ์์น์ธ์ ๋ค์์์ด์ผํ๊ณ ํค์๋ ๊ฐ๋ณ์ธ์๋ณด๋ค ์์๋ ์์ด์ผ ํ๋๋ฐ
๊ฐ๋ณ์ธ์๊ฐ ์์ ๋ ์์ธ์ง ๋ค์ธ์ง ํท๊ฐ๋ ค์ 1ํธ์์ ํ๋ ธ๋ค.
์๊ฐํด๋ณด๋ ํค์๋ ์ธ์๋ ์ธ์๋ก ๋๊ฒจ์ค ๋ ์์น๊ฐ ๋ฐ๋์ด๋ ๋์๋ค.
ํ๊ธฐ
- ์ฅ๊ณ ๋ฐฐ์ธ ๋ ํญ์ ํค์๋ ์ธ์์ ๊ฐ๋ณ์ธ์๊ฐ ํท๊ฐ๋ ค์ ๊ณ์ ๊ณต๋ถํ๋๋ฐ ์ด๋ฒ์ ๋ค์ ์ ๋ฆฌํ๋ฉด์ ๋ชฐ๋๋ ๋ถ๋ถ์ ๋ ์๊ฒ ๋๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ ํ์ด์ฌ Function Parameters), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@sdk1926/ํ์ด์ฌ-Function-Parameters์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค