[Python] ์ผ๊ธ ๊ฐ์ฒด
๐ ์ผ๊ธ ๊ฐ์ฒด
(๋ด๊ฐ ์ผ๊ธ ๊ฐ์ฒด๋ฅผ ์ดํดํ ๋ด์ฉ์ผ๋ก ์ ๋ฆฌํด๋ณด์๋ค.)
์ฐ๋ฆฌ๊ฐ ์ด๋ฏธ ์๊ณ ์๋ int, float, str ํ์ ์ ๊ฐ์ฒด๋ ์ผ๊ธ ๊ฐ์ฒด์ด๋ค.
โ int, float, strํ์ ์ ๊ฐ์ฒด์ ํน์ง์ผ๋ก ๋ญ๊ฐ ์์๊น
1)
# ๋ณ์๋ก ํ ๋น
x = 3
2)
# ์๋ฃ๊ตฌ์กฐ ์์ ๋ด๊ธฐ
y = [1, 2, 3]
3)
# ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ
a, b = 3, 1
def add(x, y):
print(x + y)
add(a, b)
4)
# ๋ฆฌํด๊ฐ์ผ๋ก ์ฌ์ฉ
def num():
return 3
num()
๐
1) ๋ณ์๋ก ํ ๋นํ ์ ์๋ค.
2) ๋ฐ์ดํฐ ๊ตฌ์กฐ(=์๋ฃ๊ตฌ์กฐ) ์์ ๊ทธ ๊ฐ์ฒด๋ฅผ ๋ด์ ์ ์๋ค.
3) ๋งค๊ฐ๋ณ์ ํํ๋ก ์ ๋ฌํ ์ ์๋ค.
4) ๋ฆฌํด๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
โ 4๊ฐ์ง ์กฐ๊ฑด๋ค์ ๋ง์กฑํ๋ ๊ฐ์ฒด๋ฅผ ์ผ๊ธ ๊ฐ์ฒด ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ถ๊ฐ์ ์ผ๋ก, ํจ์๋ ๊ฐ์ฒด๋ค.
๊ทธ๋ ๋ค๋ฉด, ํจ์๋ ์์ ์กฐ๊ฑด๋ค์ ๋ง์กฑํ ์ ์๋ค๐
๐
1) ํจ์๋ ๋ณ์๋ก ํ ๋นํ ์ ์๋ค.
2) ํจ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ(=์๋ฃ๊ตฌ์กฐ) ์์ ๊ทธ ๊ฐ์ฒด๋ฅผ ๋ด์ ์ ์๋ค.
3) ํจ์๋ ๋งค๊ฐ๋ณ์ ํํ๋ก ์ ๋ฌํ ์ ์๋ค.
4) ํจ์๋ ๋ฆฌํด๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
์๋ ์ฝ๋๋ก ์์ ํ์ธํด๋ณด์.
1)
# ๋ ์๋ฅผ ๋ํ ๊ฐ์ ๋ฆฌํดํ๋ add ํจ์ ์ ์ธ
def add(a, b):
return a + b
# f1์ด๋ผ๋ ๋ณ์์ add ํจ์ ํ ๋น
f1 = add
print(add)
print(f1)
2)
def add(a, b):
return a + b
def minus(a, b):
return a - b
# ๋ฆฌ์คํธ์ ํจ์ ํ ๋น
calc = [add, minus]
for i in calc:
print(i(10, 5))
๐ calc ๋ฆฌ์คํธ์ ํจ์๊ฐ ํ ๋น๋๋ ๊ฑด ์ดํดํ๋๋ฐ, print(i(10,5)) ๋ถ๋ถ ์คํ ๊ณผ์ ์ ๋ชจ๋ฅด๊ฒ ์ด์ ์ฐพ์๋ณด์๋ค.
๐ก calc[0] = addํจ์, calc[1] = minusํจ์ ๊ฐ ํ ๋น๋๊ณ , ์ด๋ฅผ ๋ฐ๋ณต๋ฌธ์ ํตํด i๋ผ๋ ๋ณ์์ ํจ์๊ฐ ํ ๋น๋๋ค.
๋ฐ๋ผ์ print( add (10,5) )์ print( minus (10,5) )๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ํจ์๊ฐ ๊ฐ๊ฐ ์คํ๋์ด 15์ 5๊ฐ ์ถ๋ ฅ๋๋ค.
์ฌ๊ธฐ์ ํจ์๋ ๋ฆฌ์คํธ ํํ๋ก ํ ๋น๋๋ฏ๋ก ์ผ๊ธ ๊ฐ์ฒด๋ผ๊ณ ๋ณผ ์ ์๋ค. ๐
3)
# ํจ์
def odd(x):
if x % 2 == 1:
return x
# ๋ฆฌ์คํธ
two = [i for i in range(10)]
# filter ํจ์์ odd ํจ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ
list(filter(odd, two))
4)
def hello(name):
def printer():
print(f"Hello {name}!")
return printer
func = hello("AIFFEL")
func()