๐Ÿ•ต๐Ÿปโ€โ™‚๏ธ Function

Min-Ho Leeยท2020๋…„ 6์›” 25์ผ
0

Learn Python

๋ชฉ๋ก ๋ณด๊ธฐ
10/22
post-thumbnail

Thursday_June_25
.
.
.

โ“ Function

๊ฐœ๋ฐœ์ž๋“ค์€ ๊ท€์ฐจ๋‹ˆ์ฆ˜์ด ์‹ฌํ•œ ์ข…์กฑ์ด๋‹ค.

๊ทธ๋Ÿฐ ์šฐ๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ Function
๋ช…๋ น์–ด๋“ค์˜ ๋ฌถ์Œ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค.

์ด๊ฒƒ์ด ์“ฐ๋Š” ์ด์œ ์ด๊ณ , ๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” ๋ฌถ์–ด์ฃผ๋ฉด ์ด๋ป์ง€๊ณ , ์ด๋ป์ง€๋ฉด ๊ฐ€๋…์„ฑ ๐Ÿ‘

์ˆ˜ํ•™์—์„œ์˜ ํ•จ์ˆ˜์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค.

๋ฌด์–ธ๊ฐ€๋ฅผ Input ํ•ด์ฃผ๋ฉด, ๋ฌด์–ธ๊ฐ€๊ฐ€ Output์ด ๋œ๋‹ค.

โญ๏ธ ์ด ์‚ฌ์ง„์„ ์ž‘ ๊ธฐ์–ตํ•ด ์ฃผ๊ธธ ๋ฐ”๋ž€๋‹ค โญ๏ธ

๐Ÿ™‹โ€โ™‚๏ธ ํ•จ์ˆ˜ ์ •์˜, ํ•จ์ˆ˜ ํ˜ธ์ถœ


โญ๏ธ ์ด ์‚ฌ์ง„๋„ ์ž˜ ๊ธฐ์–ตํ•ด ์ฃผ๊ธธ ๋ฐ”๋ž€๋‹ค โญ๏ธ

1๏ธโƒฃ ํ•จ์ˆ˜ ์ •์˜

์‚ฌ์ง„์˜ # Function Definition ๋ถ€๋ถ„์ด ์ •์˜ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ถ€๋ถ„์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

def : ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค๋Š” ๋ง์ด๋‹ค. ๊ผญ ์จ์ค˜์•ผ ํ•œ๋‹ค.

add : ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ์ ์–ด์ฃผ๋Š” ๋ถ€๋ถ„์ด๋‹ค.
๊ผญ add๊ฐ€ ์•„๋‹ˆ์–ด๋„ ๋ณ€์ˆ˜๋ช…์„ ์ง“๋Š”๊ฒƒ ์ฒ˜๋Ÿผ ์›ํ•˜๋Š” ์ด๋ฆ„์„ ์ฃผ๋ฉด ๋œ๋‹ค.
โ—๏ธ Tip ๐Ÿ‘‡
ํ•จ์ˆ˜๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋™์ž‘ํ•ด์ฃผ๋Š” ์ข‹์€ ์นœ๊ตฌ์ธ๋ฐ, ์ด๋ฆ„์„ ๋Œ€์ถฉ ์ง“์ง€ ๋ง์ž

(a, b) : โ—๏ธ ์ผ๋‹จ ()๊ด„ํ˜ธ๋Š” ๋ฌด์กฐ๊ฑด ์ค˜์•ผํ•œ๋‹ค.
์•ˆ์— ์žˆ๋Š” a ์™€ b๋Š” Parameter (ํŒŒ๋ผ๋ฏธํ„ฐ) ๋ผ๊ณ  ํ•œ๋‹ค.
์‚ฌ์ง„์—์„œ๋Š” a๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์™€ b๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ ‡๊ฒŒ 2๊ฐœ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ์ด๋‹ค.

์•„๊นŒ ์ˆ˜ํ•™์—์„œ์˜ ํ•จ์ˆ˜ ๋ถ€๋ถ„์—์„œ, Input์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด ์ด ๋ถ€๋ถ„์ด๋‹ค.
ํ•˜์ง€๋งŒ Input์€ ์ค˜๋„ ์ƒ๊ด€์—†๊ณ , ์•ˆ์ค€๋‹ค๊ณ  ๋ฌธ์ œ๊ฐ€ ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.

: : (a, b) ์˜†์— : ์ฝœ๋ก ์ด ํ•˜๋‚˜ ์žˆ๋‹ค.
๋‹ค์Œ ์ค„ ๋ถ€ํ„ฐ ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์ด, ๊ผญ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
๋‹ค๋ฅธ ๊ธ€์—์„œ๋„ ๋งํ–ˆ์ง€๋งŒ, ํŒŒ์ด์ฌ์€ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ {} ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์ง€ ์•Š๊ณ 
๊ผญ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

return a + b : return์ด๋ž€ '๋ฐ˜ํ™˜' ์ด๋ผ๋Š” ๋œป์ด๋‹ค.
์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๋„ ๊ดœ์ฐฎ๋‹ค. ์ผ๋‹จ ์ด ํ•จ์ˆ˜๋Š” a์™€ b๋ผ๋Š” ๊ฐ’์„ ๋”ํ•ด์„œ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š”
ํ•จ์ˆ˜๋ผ๋Š” ๋œป์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์•„๊นŒ ํŒŒ๋ผ๋ฏธํ„ฐ = ํ•จ์ˆ˜์˜ Input ์ด๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ,
์—ฌ๊ธฐ์„œ return์€ return = ํ•จ์ˆ˜์˜ Output, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ
return์€ ์—†์–ด๋„ ๋œ๋‹ค.

Input์ธ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ Output์ธ return์ด ์—†์–ด๋„ ๋œ๋‹ค๋Š” ๊ฑด,
์จ๋„ ๋˜๊ณ  ์•ˆ์จ๋„ ๋œ๋‹ค๋Š” ๋ง์„ ์˜๋ฏธํ•œ๋‹ค. (์˜ต์…˜์ด๋ž€ ๋œป)

2๏ธโƒฃ ํ•จ์ˆ˜ ํ˜ธ์ถœ

ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋ฉด ์จ์•ผํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€? ์ธ์ •?

์‚ฌ์ง„์˜ # Function Call ๋ถ€๋ถ„์ด ์ •์˜ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ถ€๋ถ„์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

add() : add๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

๋งŒ์•ฝ asdf ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, asdf() ๋ผ๊ณ  ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

() ๊ด„ํ˜ธ๋ฅผ ๊ผญ ์จ์ค˜์•ผ ํ•œ๋‹ค.

2, 3 : ๊ด„ํ˜ธ ์•ˆ์— 2์™€ 3์ด ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋‹ค๋“ค ์ง‘์ค‘ โ—๏ธ

ํ•จ์ˆ˜๋ฅผ ์ •์˜ ํ• (๋งŒ๋“ค) ๋•Œ () ๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋†ˆ๋“ค์„ Parameter (ํŒŒ๋ผ๋ฏธํ„ฐ) ๋ผ๊ณ  ํ–ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ํ• (๋ถˆ๋Ÿฌ์˜ฌ) ๋•Œ () ๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋†ˆ๋“ค์€! Argument (์•„๊ทœ๋จผํŠธ) ๋ผ๊ณ  ํ•œ๋‹ค.

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•จ๊ณผ ๋™์‹œ์— ์ •์˜๋œ ํ•จ์ˆ˜์—์„œ Parameter์—๊ฒŒ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๊ณต๊ฐ„ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค.

profile
๐Ÿ‡ Rabbit can take a rest, but ๐Ÿข turtle can't

0๊ฐœ์˜ ๋Œ“๊ธ€