*κ°μ μλ£μ μ€λ₯κ° λ°κ²¬λμ΄ μμ νμ΅λλ€. 4/8 15:13 μ΄μ μ λ€μ΄λ‘λ λ°μΌμ λΆλ€μ μ¬λ€μ΄λ‘λ λΆνλ립λλ€.
3μ°¨μ κ°μ μ£Όμ λ ν¨μμ λ¬Έμμ΄μ λλ€.
[Chapter 01] ν¨μ
ν¨μμ κ°λ
- μν μ ν¨μ
- νΉμ μμμ x κ°μ λμ νλ©΄ y κ°μ΄ μ ν΄μ§λ κ²
- y=f(x) ννν¨.
- νμ΄μ¬ μ ν¨μ
- ν¨μ(function) = μ½λμ μ§ν©
- νΉμ κΈ°λ₯μ νλ μ½λλ₯Ό λ¬Άμ΄ λμ κ²
- ν¨μμ μ’ λ₯
- λ΄μ₯ ν¨μ: νμ΄μ¬μμ κΈ°λ³ΈμΌλ‘ μ 곡νλ ν¨μ, νμ΄μ¬ μ€μΉ ν μ¬μ© κ°λ₯
- -print(), len() λ±
- μ¬μ©μ ν¨μ: μ¬μ©μκ° νμν λ μ§μ λ§λ€μ΄ μ¬μ©
ν¨μμ νμμ±
- μ½λ μ¬ μ¬μ© κ°λ₯→λΆνμν μ½λ μ€λ³΅ μ€μΌ μ μμ
- κ°λ μ± ν₯μ
- μ μ§ λ³΄μ μ©μ΄→μ½λ μμ μ¬ν λ°μ μ ν¨μλ§ μμ
ν¨μμ κ΅¬μ± μμ
- def ν€μλ: definitionμ μ½μλ‘ ν¨μλ₯Ό μ μν λ μ¬μ©ν¨.
- return ν€μλ: ν¨μλ₯Ό μ€ννλ μμΉλ‘ λμκ°κ² ν¨
- ν¨μ μ΄λ¦: ν¨μμ κΈ°λ₯ μ μΆν μ μλ μ΄λ¦μΌλ‘ μ€μ
- 맀κ°λ³μ(parameter): ν¨μμ μ λ¬λ λ°μ΄ν°λ₯Ό λ°μ μ μ₯νλ λ³μ
- λ°νκ°(return value): ν¨μμ κΈ°λ₯μ μνν λ€ κ²°κ³Όκ°
def ν¨μ μ΄λ¦(맀κ°λ³μ): #μ€νλ¬Έμ μμμ λνλ΄λ ‘:’
ν¨μμ κΈ°λ₯μ μνν μ½λ1 #μ€νλ¬Έ λ€μ¬μ°κΈ°
ν¨μμ κΈ°λ₯μ μνν μ½λ2
…
return λ°νκ°
- 맀κ°λ³μλ ‘μΈμ’λΌκ³ λ νλ©°, 맀κ°λ³μκ° μλ ν¨μλ μκ³ , μλ ν¨μλ μμ.
- λ°νκ°μ΄ μλ ν¨μλ μκ³ , μλ ν¨μλ μμ.
- λ°νκ°κ³Ό λ§μ°¬κ°μ§λ‘ return ν€μλλ λ°λμ μ¬μ©ν΄μΌ νλ κ²μ μλλ©°, νΈμΆλΆλ‘ λλ €μ€μΌ νλ λ°μ΄ν°κ° μλ κ²½μ°μλ§ μ¬μ©
→ κ° μμκ° μλ ν¨μ, μλ ν¨μμ μ°¨μ΄λ λ€μμ λ μμΈν!
ν¨μλͺ μ§μ λ μ μ μ¬ν
- λ΄μ₯ ν¨μλͺ κ³Ό λμΌνλ©΄ μλ¨.
- 첫 κΈμλ μ«μ μ¬μ© λΆκ°
- νΉμ λ¬Έμλ μΈλλ°(_)λ§ μ¬μ© κ°λ₯
- 첫 κΈμλ μλ¬Έμ μ¬μ© κΆμ₯
ν¨μ μ μΈ λ° νΈμΆνκΈ°
plus() ν¨μ λ§λ€κ³ νΈμΆνκΈ°
#ν¨μ μ μΈ λΆλΆ (μ€νλμ§ μλλ€)
def plus(v1, v2): #v1, v2λ 맀κ°λ³μ
result = v1 + v2
return result #λ°ν
#λ©μΈ μ½λ λΆλΆ
hap = plus(100, 200)
print("100κ³Ό 200μ plus() ν¨μ κ²°κ³Όλ", hap) #plus() ν¨μμμ λ°νλ κ° μΆλ ₯
π‘ 100κ³Ό 200μ plus() ν¨μ κ²°κ³Όλ 300
ν¨μ μμ μ 무 μ°¨μ΄
- ν¨μ μ€μλ 맀κ°λ³μλ λ°νκ°μ΄ μλ ν¨μλ μμ.
def a_rectangle_area(): #맀κ°λ³μ x, λ°νκ° x
print(5 * 7)
def b_rectangle_area(x, y): #맀κ°λ³μ O, λ°νκ° x
print(x * y)
def c_rectangle_area(): #맀κ°λ³μ x, λ°νκ° O
return(5 * 7)
def d_rectangle_area(x, y): #맀κ°λ³μ O, λ°νκ° O
return(x * y)
a_rectangle_area()
b_rectangle_area(5, 7)
print(c_rectangle_area())
print(d_rectangle_area(5, 7))
π‘ 35
35
35
35
리ν΄
- λ°νκ°(return value): ν¨μμ κ²°κ³Ό
- μλ£ μμ΄ λ¦¬ν΄νκΈ°
def return_test():
print("A μμΉμ
λλ€.")
return #리ν΄
print("B μμΉμ
λλ€.")
return_test() #ν¨μ νΈμΆ
π‘ A μμΉμ λλ€.
- μλ£μ ν¨κ» 리ν΄νκΈ°
def return_test():
return 100 #μλ£ κ°μ§κ³ 리ν΄
value = return_test()
print(value)
π‘ 100
- 리ν΄ν κ°μ΄ μμΌλ©΄ ν¨μλ ‘None’μ λ°ννλ€. ‘μλ€’ λΌλ μλ―Έμ΄λ€.
λ³μμ μ’ λ₯
- λ³μκ° μ½λμμ μ¬μ©λλ λ²μμ λ°λΌ λ μ’ λ₯λ‘ λλ μ μλ€.
- μ§μ λ³μ(local variable): ν¨μ λ΄μμ μ μΈ. ν¨μ μμμλ§ μ¬μ© κ°λ₯
- μ μ λ³μ(global variable): ν¨μ μΈμμ μ μΈ. νλ‘κ·Έλ¨ μ 체μμ μ¬μ© κ°λ₯
num = 10 #μ μλ³μ num μ μΈ
#ν¨μ μ μ
def fun1():
num = 20 #μ§μλ³μ num μ μΈ
print('num: ', num) #μ§μλ³μ num μ¬μ©(ν¨μ μμμ numμ λ¨Όμ μ°Ύλλ€.)
print('num: ', num) #μ μλ³μ num μ¬μ©
fun1()
π‘ num: 10 #μ μλ³μ num μΆλ ₯
num: 20 #μ§μλ³μ num μΆλ ₯
- global ν€μλ: μ μλ³μμ μ κ·Όν¨. μ¦ ‘global num’μ μ μλ³μ numμ λ»ν¨.
num = 10
def fun1():
global num
num = 20
print('num: ', num)
print('num: ', num)
fun1()
print('num: ', num)
π‘ num: 10
num: 20
num: 20
μ€μ²©(Nested) ν¨μ
- ν¨μ μμ μ μλ λ λ€λ₯Έ ν¨μ
- μ£Όμν μ : λ΄λΆμ μ μλμ΄ μλ μ€μ²© ν¨μλ μμ μ ν¬ν¨νκ³ μλ ν¨μ λ΄λΆμμλ§ νΈμΆν μ μμΌλ©°, μΈλΆμμλ νΈμΆν μ μμ.
def divFuntion(n1, n2): #μΈλΆ ν¨μ μ μ
def divOperator(num1, num2): #μ€μ²© ν¨μ μ μ
return num1/num2
if n2 != 0:
result = divOperator(n1, n2)
elif n2 == 0:
result = '0μΌλ‘ λλ μ μμ΅λλ€.'
return result
print(divFuntion(10, 0))
print(divFuntion(10, 2))
print(divOperator(10, 2)) #μ€μ²© ν¨μλ₯Ό μΈλΆμμ νΈμΆ
π‘ 0μΌλ‘ λλ μ μμ΅λλ€.
5.0
Error
μ¬κ·(Recursive) ν¨μ
- ν¨μ μμμ μμ μ λ€μ νΈμΆνλ ν¨μ
- μ¬κ· ν¨μλ μμ μμμ μκΈ° μμ μ κ³μ νΈμΆνλ―λ‘ ν¨μ νΈμΆμ μ’ λ£ν μ μλ μ½λκ° νμ
def add(num):
if num > 0:
print('num: ', num)
add(num - 1) #μκΈ° μμ μ λ€μ νΈμΆ
add(3)
π‘ num: 3
num: 2
num: 1
맀κ°λ³μμ κ°λ
- ν¨μλ μ μλΆ(ν¨μλ₯Ό μ μνλ μͺ½)μ νΈμΆλΆ(ν¨μλ₯Ό μ¬μ©νλ €κ³ νΈμΆνλ μͺ½)λ‘ λλλ€.
- μΈμ: ν¨μλ₯Ό νΈμΆν λ λ겨주λ λ°μ΄ν°(=맀κ°κ°)
- 맀κ°λ³μ: ν¨μ νΈμΆλΆμμ λκΈ΄ μΈμλ₯Ό ν¨μ μ μλΆμμ λ°μ μ μ₯νλ λ³μ
- ν¨μ νΈμΆλΆμμ μ λ¬ν μΈμκ° λ κ° μ΄μμΌ μ, 맀κ°λ³μλ νΈμΆλΆμμ μ λ¬νλ μΈμμ κ°μμ μμμ λ§μΆ°μ μ μΈ
def plus(n1, n2): #n1, n2λ 맀κ°λ³μ
result = n1 + n2
print(result)
plus(100, 200) #100, 200μ κ°κ° n1, n2μ λμνλ μΈμ
π‘ 300
νμ΄μ¬μμ μΈμ μ¬μ© λ°©λ²
- ν€μλ μΈμ: 맀κ°λ³μμ λ³μλͺ μ μ¬μ©νμ¬ ν¨μμ μΈμλ₯Ό μ§μ νλ λ°©λ²
def divide(n1, n2):
result = n1/n2
print(result)
divide(100, 200)
divide(200, 100)
divide(n2=200, n1=100)
π‘ 0.5
2.0
0.5
2. λν΄νΈ μΈμ: λ³λ μΈμκ° μ λ ₯λμ§ μμ λ 미리 μ§μ ν μ΄κΉκ° μ¬μ©νλ λ°©λ²
- λ¨ λν΄νΈ 맀κ°λ³μ λ€μλ μΌλ° λ§€κ° λ³μκ° μ¬ μ μμ
def divide(n1, n2 = 200):
result = n1/n2
print(result)
divide(100, 200)
divide(100)
π‘ 0.5
0.5
3. κ°λ³ μΈμ: 미리 μ§μ ν λ³μ μ΄μΈ μΆκ°λ‘ μΈμλ₯Ό μνλ λ§νΌ μ λ ₯ν μ μκ² ν¨
- ‘*’ κΈ°νΈ μ΄μ©ν¨.
- λ¨ κ°λ³ 맀κ°λ³μ λ€μλ μΌλ° 맀κ°λ³μκ° μ¬ μ μμ
- κ°λ³ 맀κ°λ³μλ νλλ§ μ¬μ©ν μ μμ
def plus(n1, n2, *num): #numμ΄ κ°λ³ μΈμ
result = n1 + n2 + sum(num) #sum() ν¨μ: 리μ€νΈμ ν©μ ꡬν¨
print(result)
plus(1, 2, 3, 4, 5)
π‘ 15
4. ν€μλ κ°λ³ μΈμ: 맀κ°λ³μμ μ΄λ¦μ λ°λ‘ μ§μ νμ§ μκ³ μ λ ₯νλ λ°©λ²
def introduce(**name): #nameμ΄ ν€μλ κ°λ³ μΈμ
print(name)
print("my name is {my_name}".format(**name))
print("your name is {your_name}".format(**name))
introduce(my_name = "Kim", your_name = "Lee")
π‘ {'my_name': 'Kim', 'your_name': 'Lee'}
my name is Kim
your name is Lee
- λν΄νΈ 맀κ°λ³μκ° κ°λ³ 맀κ°λ³μλ³΄λ€ μμ μ¬ λ: λν΄νΈ 맀κ°λ³μμ μλ―Έκ° μ¬λΌμ§
- κ°λ³ 맀κ°λ³μκ° λν΄νΈ 맀κ°λ³μλ³΄λ€ μμ μ¬ λ: κ°λ³ 맀κ°λ³μκ° μ°μ λ¨
π λ΄μ©μ΄ λ§μ κ΄κ³λ‘ μ€μ λλ€. λλ¨Έμ§ λ΄μ©μ 첨λΆν κ°μμ pdf νμΌλ‘ νμΈν΄μ£ΌμκΈΈ λ°λλλ€.
'π μ€ν°λ > νμ΄μ¬ μ€ν°λ κ°μμλ£' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[4μ°¨μ/λ Έμ£Όμ] νμ΄μ¬ μ€ν°λ-'μλ£κ΅¬μ‘°'μ 'λͺ¨λκ³Ό ν¨ν€μ§' (0) | 2024.05.13 |
---|---|
3μ°¨μ ν¨μμ λ¬Έμμ΄ κ³Όμ λ΅μ (0) | 2024.04.16 |
2μ°¨μ - 쑰건문과 λ°λ³΅λ¬Έ κ³Όμ λ΅μ (0) | 2024.04.02 |
[1μ°¨μ/곡λ€μ] κ³Όμ λ΅μ - νμ΄μ¬ κ°μ, μ μΆλ ₯κ³Ό 리μ€νΈ (0) | 2024.03.19 |
[2μ°¨μ/μ μμ°] νμ΄μ¬ μ€ν°λ - 쑰건문과 λ°λ³΅ (0) | 2024.03.18 |