νμ΄μ¬(Python) κΈ°μ΄ (11) ν¨μ λ° λλ€( lambda ) , return , *args **kwargs hint (ννΈ)
νμ΄μ¬μμ λ°λ³΅, μ€λ³΅μ μΈ νλ‘κ·Έλλ°μ νΌνκΈ° μν΄μ 'ν¨μ'λΌλ κ²μ μ¬μ©ν©λλ€.
μ΄λ ν μ λ ₯μ ν΅ν΄ λ°μμ¨ κ°μ, ν¨μλ₯Ό κ±°μ³ μνλ μΆλ ₯κ°(κ²°κ³Όκ°)μ μ»λλ‘ λμμ£Όλ μν μ λλ€.
μλ₯Όλ€μ΄ μ΄λ ν νμλ€μ μνμ±μ μ λν νκ· κ°μ λ΄λ '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 μΈμ : ννμ μ΄λ κ² νμ€λ‘ μνμ΄ κ°λ₯νλλ‘ λ§λ€μ΄ μ€λλ€.
κ°λ¨νκ² κ³±μ μΌλ‘ μλ₯Ό λ€λ©΄