ํ์ด์ฌ์์ ๋ฐ๋ณต, ์ค๋ณต์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ํผํ๊ธฐ ์ํด์ 'ํจ์'๋ผ๋ ๊ฒ์ ์ฌ์ฉํฉ๋๋ค.
์ด๋ ํ ์
๋ ฅ์ ํตํด ๋ฐ์์จ ๊ฐ์, ํจ์๋ฅผ ๊ฑฐ์ณ ์ํ๋ ์ถ๋ ฅ๊ฐ(๊ฒฐ๊ณผ๊ฐ)์ ์ป๋๋ก ๋์์ฃผ๋ ์ญํ ์
๋๋ค.
์๋ฅผ๋ค์ด ์ด๋ ํ ํ์๋ค์ ์ํ์ฑ์ ์ ๋ํ ํ๊ท ๊ฐ์ ๋ด๋ 'A'๋ผ๋ ํจ์๋ฅผ ๋ง๋ค์๋ค๊ณ ํ๋ฉด, ํ๋ฒ์ ํจ์ ์์ฑ์ ํตํด์
1๋ฐ, 2๋ฐ, 3๋ฐ..... ์ ์ํ์ฑ์ ์ A์ ๋ฃ์ด์ฃผ๋ฉด ํ๊ท ๊ฐ์ด ์๋์ผ๋ก ์ถ๋ ฅ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ฒ์ ํจ์์์ฑ์ผ๋ก ํจ์จ์ ์ธ ๊ฒฐ
๊ณผ๊ฐ์ ์ป๊ฒ ๋ฉ๋๋ค.
* ํจ์์ ์ ์ธ ๋ฐ ๊ตฌ์กฐ
def ํจ์๋ช
(๋งค๊ฐ๋ณ์):
(์คํ๋ฌธ) ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๊ฐ๋จํ ํ๋ฆฐํธ๋ฌธ์
๋๋ค. ํจ์์ด๋ฆ์ hi, ๋งค๊ฐ๋ณ์๋ wow์ด๋ฉฐ, ํจ์์ ๋ด์ฉ์ "it is"๋ฅผ ์ถ๋ ฅํ๊ณ , ๋ค์๋ ๋ฐ์์ค๋ ๋ณ์๋ฅผ ์ฝ์
ํ๋๋ก ํ์ต๋๋ค.
์ด๋ ๋งค๊ฐ๋ณ์๋ ์์ผ๋ก ๋ฏธ๋์ ๋ฐ์์ฌ ๊ฐ์ ๋์ ํ์ฌ, ๋ฏธ๋ฆฌ ์ค์ ํด์ฃผ๋ ์์๊ฐ?, ์์ ์ด๋ฆ? ์ด๋ผ๊ณ ์๊ฐํด๋๋ฉด ๋ ๊ฒ๊ฐ์ต๋๋ค.
(์ฌ๊ธฐ์๋ ๋์ค์ 'easy'๋ฅผ ๋ฐ์์ค๊ธฐ์ ์ ์์๋ก wow ๋ผ๊ณ ์ด๋ฆ๋ถ์ฌ ๋์๊ฑฐ๊ฒ ์ฃ ?)
*๋ฆฌํด(return)์ด ์๋ ํจ์
3๋ช
์ด ์๋ ํด๋์ค์ ์ฑ์ ํ๊ท ์ ๊ตฌํ๋ค๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค. ์์ผ๋ก ๋ฐ์์ฌ 3๊ฐ์ ์ฑ์ ์ a,b,c๋ผ๊ณ ๋ฏธ๋ฆฌ
์ด๋ฆ์ง์ด๋๊ณ (๋งค๊ฐ๋ณ์)
average ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด, (a+b+c)/3 (ํ๊ท ์ ๊ตฌํ๋๋ก)๋ฆฌํด์์ผฐ์ต๋๋ค.
๋ค์์๋ ์ฑ์ ์ธ 3๊ฐ์ง ์ซ์๋ฅผ ์ฝ์
ํด์ฃผ๋ฉด, ์๋์ผ๋ก ๊ฒฐ๊ณผ๊ฐ์ด ๋ฆฌํด๋์ด ์ถ๋ ฅ๋ฉ๋๋ค.
*argument
์์ ์์ ์์๋ 3๋ช
์ ํ์์ด๋ผ๊ณ ์๊ฐํ๊ณ ์ฝ๋ฉ์ ํ์ต๋๋ค. ํ์ง๋ง ์ค์ ๋ก๋ ๋ฐ๋ง๋ค ํ์์๊ฐ ๋ค๋ฅด์ฃ . ์ด๋ด๋๋
*argument(์ธ์) ๋ผ๋๊ฒ์ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํฉ๋๋ค. ๊ฐ๋ณ์ด ๊ฐ๋ฅํ์ฌ ๋ช๊ฐ์ ์ธ์๊ฐ ๋ค์ด๊ฐ๋๋ผ๋ ํํํํ๋ก ์๋ํ๊ฒ๋ฉ
๋๋ค. ์ด๋ฒ์๋ ํ์์ ์ด๋ฆ์ ์ถ๋ ฅํ๋ ์์ ๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
**keyword argument
๋ค์์ *args์ ๋น์ทํ์ง๋ง ๋์
๋๋ฆฌ๋ก ๋ฐ์์ค๋ ๋ฐฉ๋ฒ์
๋๋ค.
์ฌ์ฉ๋ฒ์ ๊ฐ์ต๋๋ค๋ง, ์์ *๋ฅผ 2๊ฐ ๋ถ์ฌ์ **Name ๊ณผ ๊ฐ์๋ฐฉ์์ผ๋ก ์
๋ ฅํ๋ฉด ๋ฉ๋๋ค.
*ํํธ (hint)
๋ง ๊ทธ๋๋ก, ๊ฐ๋
์ฑ์ ๋์ด๊ธฐ ์ํ ํํธ ์
๋๋ค.
๊ฐ์ฅ ์์ค์ ๋ณด์๋ฉด x๋ int ์ด๋ฉฐ list๋ฅผ ๋ฐํํ๋ค๊ณ ์ค์ ํ์ต๋๋ค.
ํ์ง๋ง float๋ฅผ ์ถ๋ ฅํด๋ณด์๋๋ฐ ์ ๋๋ค์. ์ฃผ์๊ณผ ๋น์ทํ ์ญํ ์ธ๊ฒ ๊ฐ์ต๋๋ค.
*๋๋ค lambda
๋๋ค๋ ํจ์ ์ ์ธ์ ํ์ค๋ก ๊ฐ๋ฅํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
lambda ์ธ์ : ํํ์ ์ด๋ ๊ฒ ํ์ค๋ก ์ํ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด ์ค๋๋ค.
๊ฐ๋จํ๊ฒ ๊ณฑ์
์ผ๋ก ์๋ฅผ ๋ค๋ฉด