๋ชฉ์ฐจ
*args
*args๋ *arguments์ ์ฝ์์ด๋ค!
์ ๋ ฅ๊ฐ์ ์๊ฐ ์ ํด์ ธ ์์ง ์์ ๋, ์ฌ๋ฌ ๊ฐ์ ์ธ์๋ฅผ ํจ์๋ก ๋ฐ์ ๋ ์ฌ์ฉํ๋ฉด ๋๋ค.
def ํจ์๋ช
(*๋งค๊ฐ๋ณ์):
์คํ๋ฌธ์ฅ
์ด์ ์๋ ํ ๋ฒ ๋ค๋ค์์ง๋ง *args์ ํํ๋ ์ ๋ ฅ๊ฐ์ ๋ฐ์ผ๋ฉด ํํ๋ก ์ฒ๋ฆฌํ๋ค.
def sum(*num):
result = 0
for i in num:
result += i
return result
a = sum(1,2,3,4)
print(a)
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
10
์์ ์์์ฒ๋ผ ์ ๋ ฅ๊ฐ์ ์ฌ๋ฌ ๊ฐ ๋ฃ์ด์ฃผ์ด๋ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ ์ ์๋ค.
def sum(*num):
result = 0
for i in num:
result += i
print(type(num), num)
return result
a = sum(1,2,3,4)
print(a)
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
<class 'tuple'> (1, 2, 3, 4)
10
ํจ์์ ํ์ ์ ์ถ๋ ฅํด๋ณด๋ฉด ํํ์ธ ๊ฒ์ ์ ์ ์๋ค!
์ฃผ์
*args๋ ์ผ๋ฐ ํ๋ผ๋ฏธํฐ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋๋ฐ ์ด๋ ์ฃผ์ํด์ผ ํ ์ ์ด ์๋ค.
def profile(name, *args):
print(f'์ด๋ฆ : {name}', end = ' | ')
print('์ทจ๋ฏธ : ', end = '')
for i in args:
print(i,end=' ')
profile('์ํฅ๋ฏผ', '๋ฌ๋ฆฌ๊ธฐ', '์ถ๊ตฌ', '๊ฒ์')
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
์ด๋ฆ : ์ํฅ๋ฏผ | ์ทจ๋ฏธ : ๋ฌ๋ฆฌ๊ธฐ ์ถ๊ตฌ ๊ฒ์
์ ์ด ์์์์ ํ๋ผ๋ฏธํฐ์ ์์๋ฅผ ๋ฐ๊พธ๋ฉด?
def profile(*args, name):
print(f'์ด๋ฆ : {name}', end = ' | ')
print('์ทจ๋ฏธ : ', end = '')
for i in args:
print(i,end=' ')
profile('์ํฅ๋ฏผ', '๋ฌ๋ฆฌ๊ธฐ', '์ถ๊ตฌ', '๊ฒ์')
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
TypeError: profile() missing 1 required keyword-only argument: 'name'
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
์ฆ, *args๋ฅผ ์ผ๋ฐ ํ๋ผ๋ฏธํฐ ๋ค์ ์จ์ฃผ์ด์ผ ํ๋ค.
**kwargs
**kwargs๋ **keywordarguments์ด ์ฝ์์ด๋ค.
(์ฐธ๊ณ ๋ก args์ kwargs๋ ๊ด๋ก๋ก ์ฌ์ฉ๋๋ ๋จ์ด๋ค์ด๋ค!)
def ํจ์๋ช
(**๋งค๊ฐ๋ณ์):
์คํ๋ฌธ์ฅ
ํค์๋ = ํน์ ๊ฐ ํํ๋ก ํจ์๋ฅผ ํธ์ถํ๋ฉด
{ํค์๋ : 'ํน์ ๊ฐ'} ํํ๋ก ๋ด๋ถ์ ์ ๋ฌ์ด ๋๋ค.
def func(**kwargs):
print(kwargs)
func(a=1)
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
{'a' : 1}
def profile(**kwargs):
for key, value in kwargs.items():
print(f"{key} : {value}")
profile(์ด๋ฆ = '์ํฅ๋ฏผ')
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
์ด๋ฆ : ์ํฅ๋ฏผ
์์ ์์ฒ๋ผ ํ์ฉ์ ํ ์์๋ค.
def profile(**kwargs):
for key, value in kwargs.items():
print(f"{key} : {value}")
if '์ํฅ๋ฏผ' in kwargs.values():
print("Hi, sonny!")
profile(์ด๋ฆ = '์ํฅ๋ฏผ')
ใ
กใ
กใ
กใ
กใ
กใ
กใ
กใ
ก
์ด๋ฆ : ์ํฅ๋ฏผ
Hi, sonny!
์ด๋ฐ ์์ผ๋ก์ ํ์ฉ๋ ๊ฐ๋ฅํ๋ค.
์ฃผ์
์ด๋ฒ์๋ ์ญ์ ์ฃผ์ํด์ผ ํ ์ ์ด ์๋๋ฐ ๊ฐ์ ์ด์ ๋ก
์์๋ฅผ ์กฐ์ฌํด์ผ ํ๋ค.
*args์ **kwargs๋ ํจ๊ป ์ฌ์ฉํ ์ ์๋๋ฐ
def storeinfo(store,*products,**prices):
print(f'----({store})----')
print("|ํ๋งค๋ชฉ๋ก|")
for saleList in products:
print(saleList, end=' ')
print("\n|ํ ๋ด์ง๋น ๊ฐ๊ฒฉ|")
for product, price in prices.items():
print(f"{product} >> {price}์")
p1 = '๊ฐ์ง'; p2 = '์์ถ'; p3 = '๋ฌดํ๊ณผ'
storeinfo('์ฐ๋ค๊ฐ๊ฒ', p1, p2, p3, ๊ฐ์ง=1450, ์์ถ=1980, ๋ฌดํ๊ณผ=9000)
์ด ์์ ๋ํ ์์๋ฅผ ๋ฐ๊พธ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
์ ๋ฆฌํ๋ฉด,
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
ํจ์ ํ๋ผ๋ฏธํฐ ์์ : (๋ณ์ -> *๋ณ์ -> **๋ณ์)
*๋ณ์ : ์ฌ๋ฌ ๊ฐ๊ฐ ์ธ์๋ก ๋ค์ด์ค๋ฉด ํํ๋ก ์ฒ๋ฆฌ
**๋ณ์ : ํค์๋=OO ํํ๋ก ์ ๋ ฅํ๋ฉด ๊ฐ๊ฐ์ ํค์ ๊ฐ์ผ๋ก ํ๋ ๋์ ๋๋ฆฌ๋ก ์ฒ๋ฆฌ
'๐ | Python > ํ์ด์ฌ ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
python _ id()ํจ์_์ถ๊ฐ๋ก ์๊ฒ ๋ ์ ! (0) | 2021.12.30 |
---|---|
ํด๋์ค_(1) (0) | 2021.11.03 |
ํจ์์ ๋ฉ์๋ (0) | 2021.10.02 |
pickle (0) | 2021.09.28 |
ํ์ผ ์ ์ถ๋ ฅ (0) | 2021.09.23 |
๋๊ธ