5แแ
กแแ
ต_แแ
กแทแแ
ฎ_แแ
กแผแแ
ดแแ
กแซ
2.31MB
5แแ
กแแ
ต_แแ
กแทแแ
ฎ_แแ
ชแแ
ฆ.docx
3.94MB
*๋ชจ๋ ์ถ์ฒ๋ ๋์ "๋ฐ์ดํฐ ๊ณผํ์ ์ํ ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ"์ ๋๋ค*
#1. ํจ์ ๊ธฐ์ด
๐ญ ์ฌ๋ฌ ๋ช ์ด ํ๋ก๊ทธ๋จ์ ํจ๊ป ๊ฐ๋ฐํ ๋, ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ์์ฑํ๋ฉด ์ข์๊น
- ํ์ํ ๋ถ๋ถ ๋๋์ด ์์ฑํ ํ ํฉ์น๊ธฐ
ํจ์์ ๊ฐ๋ ๊ณผ ์ฅ์
- ํจ์(function)?
- ์ด๋ค ์ผ ์ํํ๊ธฐ ์ํ ์ฝ๋ ๋ฉ์ด๋ฆฌ or ๋ฌถ์
- ex. ๋ํ ๋์ด ๊ตฌํ๋ ํ๋ก๊ทธ๋จ → ํจ์ํํ์ฌ ํ์ํ ๋๋ง๋ค ํธ์ถ
- ์ด๋ค ์ผ ์ํํ๊ธฐ ์ํ ์ฝ๋ ๋ฉ์ด๋ฆฌ or ๋ฌถ์
- ํจ์์ ์ฅ์
- ํ์ํ ๋๋ง๋ค ํธ์ถ ๊ฐ๋ฅ
- ๋ฐ๋ณต์ ์ํ ์ ๋ฌดํ ๋ ์ ์ฉ
- ๋
ผ๋ฆฌ์ ๋จ์๋ก ๋ถํ ๊ฐ๋ฅ
- ex. ๋ํ ๊ณ์ฐ ํ๋ก๊ทธ๋จ
- ๊ณฑ์ ํ๋ / ๋ง์ ํ๋ / ๋๋์ ํ๋ …
- ex. ๋ํ ๊ณ์ฐ ํ๋ก๊ทธ๋จ
- ์ฝ๋์ ์บก์ํ
- ์ธํฐํ์ด์ค๋ฅผ ์ ์ ์ํจ → ํ์ธ์ด ์ด์ฉ๊ฐ๋ฅ
- ์ธํฐํ์ด์ค ์ ์? → ์ฝ๋์ ์ธํ๊ณผ ์์ํ ๋ช ํํ ํจ
- ์ธํฐํ์ด์ค๋ฅผ ์ ์ ์ํจ → ํ์ธ์ด ์ด์ฉ๊ฐ๋ฅ
- ํ์ํ ๋๋ง๋ค ํธ์ถ ๊ฐ๋ฅ
ํจ์์ ์ ์ธ
- ์ ์ธ ๋ฐฉ๋ฒ
def ํจ์ ์ด๋ฆ (๋งค๊ฐ๋ณ์ 1 ....):
๋ช
๋ น๋ฌธ 1
๋ช
๋ น๋ฌธ 2
return <๋ฐํ๊ฐ>
- def : ‘definition’ → ํจ์ ์ ์ ์์!
- ํจ์ ์ด๋ฆ : ์์ ๋กญ๊ฒ ์ง์ , but ๊ท์น ์กด์ฌ
- ์๋ฌธ์
- ๋์ด์ฐ๊ธฐํ ๋ ์ธ๋๋ฐ(_) ์ฌ์ฉ
- ๋์ฌ, ๋ช
์ฌ ํจ๊ป ์ฌ์ฉ
- ex. find_number
- ์ธ๋ถ ๊ณต๊ฐ์ฉ → ์ค์๋ง ์ฌ์ฉ X, ๋ช ๋ฃํ ์ด๋ฆ ์ฌ์ฉ
- ๋งค๊ฐ๋ณ์(parameter): ํจ์์์ ์ ๋ ฅ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ๋ณ์, 1๊ฐ ์ด์ ๊ฐ ์ ๊ธฐ ๊ฐ๋ฅ
- ๋ช ๋ น๋ฌธ : ๋ฐ๋์ ๋ค์ฌ์ฐ๊ธฐ ํ ์ฝ๋ ์ ๋ ฅ, ์ํํ ์ฝ๋๋ ์ง๊ธ๊ฐ์ง ๋ฐฐ์ด ์ฝ๋์ ๋์ผ
- ํจ์ ์ ์ธ ์์
def calculate_circle_area(r, pi):
return r ** 2 * pi
- ํจ์ ์ด๋ฆ : calculate_circle_area
- ๋งค๊ฐ๋ณ์ : r, pi
- ๊ฐ ๋ฐํ(return) : r**2*pi์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ
- +) ๋ฐํ?
- ex. f(x) = x + 1 → f(1) = 2
- ํจ์ f(x)์์ x์ 1์ด ๋ค์ด๊ฐ๋ฉด 2๊ฐ ๋ฐํ๋๋ ๊ฒ
- ๊ฒฐ๊ณผ๊ฐ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ
ํจ์์ ์คํ ์์
- ์ ์ธ ํ, ํธ์ถํ ์ฐจ๋ก
- ์ฝ๋
def calculate_rectanlge_area(x,y):
return x * y
rectangle_x = 10
rectangle_y = 20
print("์ฌ๊ฐํ x์ ๊ธธ์ด:", rectangle_x)
print("์ฌ๊ฐํ y์ ๊ธธ์ด:", rectangle_y)
#๋์ด๋ฅผ๊ตฌํ๋ํจ์ ํธ์ถ
print("์ฌ๊ฐํ์ ๋์ด:", calculate_rectangle_area(rectangle_x, rectangle_y))
- ์คํ ํ๋ฉด
- ์ค๋ช
- ํจ์ ์ ์๋ ๋ถ๋ถ์ ์คํ๋์ง ์์
- ํด๋น ์ฝ๋๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ๋ก๋ → ๋ค๋ฅธ ์ฝ๋ ํธ์ถ ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ์ค๋น
- ๋ฐ๋ผ์ ๊ฐ์ฅ ๋จผ์ ํจ์ ์ ์ ์ฝ๋ ์ ๋ ฅ
- ๊ฐ ๋ณ์์ ํ ๋น๋ x,y ๊ฐ์ด ๋งค๊ฐ๋ณ์๊ฐ ๋จ
ํ๋ก๊ทธ๋๋ฐ์ ํจ์์ ์ํ์ ํจ์
- f(x) = x + 1
- in ์ํ
- f(x) ์ g(x) ์ฝ๋๋ก ํํ
def f(x):
return 2 * x +7
def g(x):
return x ** 2
x =2
print(f(x)+ g(x) + f(g(x)) + g(f(x)))
#151
- f(x) → 11
- g(x) → 4
- f(g(x)) → 15
- g(f(x)) → 121
- +) ๋งค๊ฐ๋ณ์์ ์ธ์
- ๋งค๊ฐ๋ณ์(parameter)
- ์ด๋ค ๋ณ์ ์ฌ์ฉํ๋์ง ์ ์
- ์ค๊ณ๋
- ์ธ์(argument)
- ์ค์ ๋งค๊ฐ๋ณ์์ ๋์ ๋๋ ๊ฐ
- ๊ทธ ์ค๊ณ๋๋ก ์ง์ ๊ฑด๋ฌผ
def f(x): return 2*x + 7 print(f(2)) #11
- def f(x):
- ‘x’ → ๋งค๊ฐ๋ณ์
- ์ด๋ค ๋ณ์ ์ฌ์ฉํ๋์ง ์ ์
- f(2)
- ‘2’ → ์ธ์
- ๊ตฌ๋ถ์์ด ์ฌ์ฉํ๊ธฐ๋ ํจ!
- ๋งค๊ฐ๋ณ์(parameter)
ํจ์์ ํํ
๋งค๊ฐ๋ณ์์ ๋ฐํ๊ฐ(returnvalue)์ ์ ๋ฌด์ ๋ฐ๋ผ ๋ค๊ฐ์ง ํํ ๋ถ๋ฅ
- ๋งค๊ฐ๋ณ์ X & ๋ฐํ๊ฐ X
- ํจ์ ๋ด๋ถ ๋ช
๋ น๋ฌธ๋ง ์ํ
- return ๋ช ๋ น์ด ์ฌ์ฉ X, ๋งค๊ฐ๋ณ์ ์ ๋ ฅ X
def a_rectangle_area(): print(5 * 7) a_rectangle_area() #35
- ์ ๋ ฅ๊ฐ X & ์ถ๋ ฅ๊ฐ X
- ํจ์ ์์ฒด๋ none ๊ฐ์ ๊ฐ์ง
- ๋ด๋ถ ํจ์์ธ print()๋ก ์ธํด ๊ฐ ์ถ๋ ฅ๋จ
- ํจ์ ๋ด๋ถ ๋ช
๋ น๋ฌธ๋ง ์ํ
- ๋งค๊ฐ๋ณ์ O & ๋ฐํ๊ฐ X
- ๋งค๊ฐ๋ณ์ ํ์ฉ → ๋ช ๋ น๋ฌธ๋ง ์ํ
def b_rectangle_area(x,y): print(x * y) b_rectangle_area(5,7) #35
- ๋ง์ฐฌ๊ฐ์ง๋ก ํจ์๋ none์ผ๋ก ์นํ๋จ
- ๋ด๋ถ ํจ์ print()๊ฐ ์คํ๋ ๊ฒ
- ๋งค๊ฐ๋ณ์ X & ๋ฐํ๊ฐ O
- ๋งค๊ฐ๋ณ์ ํ์ฉํ์ง ์๊ณ , ๋ช ๋ น๋ฌธ ์ํ ํ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ
def c_rectangle_area(): return(5 * 7) print(c_rectangle_area()) #35
- ์ ๋ ฅ๊ฐ X & ์ถ๋ ฅ๊ฐ O
- ํจ์ ํธ์ถํ ๋ print() ์ฌ์ฉ
- ๋ด๋ถ ํจ์ ์ํ ์ํค๋ ๊ฒ X
- return ๋ฌธ์ผ๋ก 35๋ก ์นํ๋จ
- ๋งค๊ฐ๋ณ์ O & ๋ฐํ๊ฐ O
- ๋งค๊ฐ๋ณ์ ํ์ฉ , ๋ช ๋ น๋ฌธ ์ํ ํ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ
def d_rectangle_area(x, y): return(x * y) print(d_rectangle_area(3, 5)) #35
- return ์๋ ๊ฒฝ์ฐ(๋ฐํ๊ฐ ์๋ ๊ฒฝ์ฐ)
- ํด๋น ํจ์ ํธ์ถํ๋ ๊ณณ์ ํจ์ ๋ฐํ๊ฐ์ ๋ณ์์ ํ ๋น์์ผ ์ฌ์ฉ
result = d_rectangle_area(3, 5)
#2. ํจ์ ์ฌํ
ํจ์์ ํธ์ถ ๋ฐฉ์
- ๋ณ์ ํธ์ถ
def f(x):
y=x
x=5
return x*y
x=3
print(f(x))
#9
print(x)
#3
→ ๋ด๋ถ์ x์ ๋ฐ์ x๋ ๋ค๋ฅธ ๋ณ์
- ํจ์๊ฐ ๋ณ์ ํธ์ถํ๋ ๋ฐฉ์
๋ณ์์ ์ฌ์ฉ ๋ฒ์
- ๋ณ์๊ฐ ์ฝ๋์์ ์ฌ์ฉ๋๋ ๋ฒ์
- ํจ์ ๋ด๋ถ or ํ๋ก๊ทธ๋จ ์ ์ฒด
- ๊ณ ๋ คํ ๋ณ์ ๋ ๊ฐ์ง
- ์ง์ญ ๋ณ์(local variable): ํจ์ ๋ด๋ถ
- ์ ์ญ ๋ณ์(global variable): ํ๋ก๊ทธ๋จ ์ ์ฒด
- ๋ณ์ ์ฌ์ฉ ๋ฐฉ๋ฒ
- ์๋ชป ์ฌ์ฉํ ๊ฒฝ์ฐ
def test(t): print(x) t = 20 print('in function :',t) x = 3 test(x) #10 #in function : 20 print('in main :',x) #10 print('in main :',t) #error
- ์ ๊ฒฝ ์ธ ๋ณ์ → x, t
- test(x)์ x
- 10
- ์ ์ญ ๋ณ์
- ๋ด๋ถ์ t
- ์ง์ญ ๋ณ์
- error ๋ฐ์
- test(x)์ x
- ์ง์ญ ๋ณ์(local variable)
- ๋์ผํ s๊ฐ ์๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ๋ณ์
- ‘I love Paris’๋ก s๊ฐ์ ๋ณ๊ฒฝํด๋ ๋ด๋ถ์ ‘I love London’์ด ์ถ๋ ฅ๋จ!
- ๋์ผํ s๊ฐ ์๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ๋ณ์
- def f(): s = 'I love London' print(s) s = 'I love Paris' f() #I love London print(s) #I love Paris
- ์ ์ญ ๋ณ์(global variable)
#ํจ์ ์ ์
def add(x,y):
total = x + y #total -> ์ง์ญ๋ณ์
print('in function')
print('a:',str(a), "b:", str(b), "a + b:", str(a + b), "total:", str(total))
return total
#์ ์ญ ๋ณ์ ์ ์ธ a, b, total
a = 3
b = 5
total = 0
#์ ์ ํจ์ ์ฌ์ฉ X
print('in program -1')
print('a:',str(a), "b:", str(b), "a + b:", str(a + b))
#์ ์ํ ํจ์ ์ฌ์ฉ
sum = add(a,b)
print("After Calculation")
printC'Total', str(total), " Sum:", str(sum))
- ์คํ ํ๋ฉด
๋ณ์์ ์ฌ์ฉ ๋ฒ์
- ๋ณ์๊ฐ ์ฝ๋์์ ์ฌ์ฉ๋๋ ๋ฒ์
- ํจ์ ๋ด๋ถ or ํ๋ก๊ทธ๋จ ์ ์ฒด
- ๊ณ ๋ คํ ๋ณ์ ๋ ๊ฐ์ง
- ์ง์ญ ๋ณ์(local variable): ํจ์ ๋ด๋ถ
- ์ ์ญ ๋ณ์(global variable): ํ๋ก๊ทธ๋จ ์ ์ฒด
- ๋ณ์ ์ฌ์ฉ ๋ฐฉ๋ฒ
- ์๋ชป ์ฌ์ฉํ ๊ฒฝ์ฐ
def test(t): print(x) t = 20 print('in function :',t) x = 3 test(x) #10 #in function : 20 print('in main :',x) #10 print('in main :',t) #error
- ์ ๊ฒฝ ์ธ ๋ณ์ → x, t
- test(x)์ x
- 10
- ์ ์ญ ๋ณ์
- ๋ด๋ถ์ t
- ์ง์ญ ๋ณ์
- error ๋ฐ์
- test(x)์ x
- ์ง์ญ ๋ณ์(local variable)
- ๋์ผํ s๊ฐ ์๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ๋ณ์
- ‘I love Paris’๋ก s๊ฐ์ ๋ณ๊ฒฝํด๋ ๋ด๋ถ์ ‘I love London’์ด ์ถ๋ ฅ๋จ!
- ๋์ผํ s๊ฐ ์๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ๋ณ์
- def f(): s = 'I love London' print(s) s = 'I love Paris' f() #I love London print(s) #I love Paris
- ์ ์ญ ๋ณ์(global variable)
#ํจ์ ์ ์
def add(x,y):
total = x + y #total -> ์ง์ญ๋ณ์
print('in function')
print('a:',str(a), "b:", str(b), "a + b:", str(a + b), "total:", str(total))
return total
#์ ์ญ ๋ณ์ ์ ์ธ a, b, total
a = 3
b = 5
total = 0
#์ ์ ํจ์ ์ฌ์ฉ X
print('in program -1')
print('a:',str(a), "b:", str(b), "a + b:", str(a + b))
#์ ์ํ ํจ์ ์ฌ์ฉ
sum = add(a,b)
print("After Calculation")
printC'Total', str(total), " Sum:", str(sum))
- ์คํ ํ๋ฉด
์ฌ๊ท ํจ์
- ์๊ธฐ ์์ ๋ค์ ํธ์ถ
- ์ํ์ ์ ํ์๊ณผ ๊ฐ์ ํํ
- n!
- n! = n x (n-1)!
- ์ฝ๋๋ก ๊ตฌํ?
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1) #์ฌ๊ท
print(factorial(int(input("Input Number for Factorial Calculation: "))))
#3. ํจ์์ ์ธ์
- ์ธ์
- ํจ์์ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ ๋ณ์
ํค์๋ ์ธ์
- ํจ์์ ์ ๋ ฅ๋๋ ๋งค๊ฐ๋ณ์์ ๋ณ์๋ช ์ฌ์ฉ → ํจ์ ์ธ์ ์ง์
def print_name(my_name,your_name):
print("Hello {0}, My name is {1}".format(your_name,my_name))
print_name(’kyuree', "TEAMLAB")
#Hello TEAMLAB, My name is kyuree
print_name(your_name = 'TEAMLAB',my_name = 'kyuree')
#Hello TEAMLAB, My name is kyuree
- print_name(’kyuree', "TEAMLAB")
- ‘kyuree’ → my_name
- ‘TEAMLAB’ → your_name
- print_name(your_name = 'TEAMLAB',my_name = 'kyuree')
- ๋ณ์๋ช ๋ช ์ → ํด๋น ๋ณ์์ ์ํ๋ ๊ฐ ํ ๋น
- ์คํ ๊ฒฐ๊ณผ ๋์ผ
๋ํดํธ ์ธ์
- ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ ์ง์ ํ์ฌ ์ฌ์ฉ
- ์๋ฌด๋ฐ ๊ฐ๋ ์ ๋ ฅ๋์ง ์์ ๋ ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ
def print_name_2(my_name, your_name = "TEAMLAB"):
print('Hello {0}, My name is {l}'.format(your_name, my_name))
print_name_2("kyuree", "TEAMLAB")
#Hello TEAMLAB, My name is kyuree
print_name_2("kyuree")
#Hello TEAMLAB, My name is kyuree
- def print_name_2(my_name, your_name = "TEAMLAB"):
- your_name ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ‘TEAMLAB’ ์ง์
- ๋ณ๋์ ๊ฐ ํ ๋นํ์ง ์์๋ ์๋
- ๋ํดํธ ์ธ์ ์ฌ์ฉํ ๋ ์ด๊น๊ฐ ์
๋ ฅํด์ฃผ๊ธฐ๋ ํจ
- ex. ์ด๊น๊ฐ : ‘0’
- ‘init =0 ‘
- ‘init = None’
- ex. ์ด๊น๊ฐ : ‘0’
๊ฐ๋ณ ์ธ์
- ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ ํ์ง ์์ ๋
- ๊ณ ๊ฐ์ด ๋ช ๊ฐ ๋ฌผ๊ฑด ๊ตฌ๋งคํ ์ง ๋ชจ๋ฅด๋ ๋งํธ ๊ณ์ฐ๊ธฐ์์ ํฉ์ฐํ ๋
- ๊ฐ๋ณ์ธ์ → ***(asterisk)**๋ก ํํ
-
-
- ๊ณฑ์
- ์ ๊ณฑ ์ฐ์ฐ
- ๋ณ์ ๋ฌถ์ด์ฃผ๋ ๊ฐ๋ณ ์ธ์ ๋ง๋ค ๋
-
def asterisk_test(a,b,*args):
return a + b +sum(args)
print(asterisk_test(1,2,3,4,5))
#15
- a,b ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์กด์ฌ
- 1, 2
- ๋๋จธ์ง๋ฅผ *args๋ก ๋๊ฒจ ๋ฐ์
- 3,4,5
- *args → ๊ฐ๋ณ ์ธ์
- ๊ฐ์ฅ ๋ง์ง๋ง์ผ๋ก ์ ์ธ๋์ด์ผ ํจ
ํค์๋ ๊ฐ๋ณ ์ธ์
- ๊ฐ๋ณ ์ธ์
- ๋ณ์ ์์๋๋ก ํํ ํํ๋ก ์ ์ฅ
- ๋ณ์ ์ด๋ฆ ์ง์ ํ ์ ์๋ค๋ ๋จ์ ์กด์ฌ
- ๋จ์ ๋ณด์ํ ๊ฒ์ด ํค์๋ ๊ฐ๋ณ ์ธ์!
- *args → **kwargs
def kwargs_test(**kwargs):
print(kwargs)
print("First value is {first}".format(**kwargs))
print("Second value is {second}".format(**kwargs))
print("Third value is {third}".format(**kwargs))
kwargs_test(first =3, second =4, third = 5)
- print(kwargs)
- ํค์๋ ์ธ์ ์ง์
- kwargs_test(first =3, second =4, third = 5)
- {’first’ :3, ‘second ‘: 4, ‘third:’: 5}
- ๋์ ๋๋ฆฌ ์๋ฃํ → ํค์ ๊ฐ์ด ์ผ๋์ผ ๋์
- ํค์๋ ์ธ์ ์ง์
'๐ ์คํฐ๋ > ํ์ด์ฌ ์คํฐ๋ ๊ฐ์์๋ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2ํ/๊น์ธ์ฐ] 5์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ํจ์ (0) | 2023.04.05 |
---|---|
[4ํ/๊น๋ฏผํ] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.04.05 |
[3ํ/์ด์งํ] 5์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ํจ์ (0) | 2023.04.02 |
[1ํ/ํ์์] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.30 |
[2ํ/๊น๊ฐ๋ฆผ, ์ต๋ค์] 4์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ๋ฐ๋ณต๋ฌธ (0) | 2023.03.30 |