-
νμ΄μ¬ κΈ°μ΄ 5. ν¨μμ λλ€μPYTHON 2020. 8. 30. 23:47
π― νμ΄μ¬ ν¨μμ λλ€μμ μμλ³Έλ€.
ν¨μ μ μμ ν¨μ νΈμΆ
def function_name(parameter): # code function_name()
def hello(world): print("Hello, ", world) hello("Python!") hello(123)
ν¨μλ μ½λμ μ€λ³΅μ νΌνκΈ° μν΄ μ¬μ©νλ€. μ΄λ€ λμμ νλμ§ μ½κ² μμλ³Ό μ μλλ‘ νλμ κΈ°λ₯μ νλμ ν¨μλ‘ λ§λλ κ² μ’λ€. def ν€μλλ₯Ό μ¬μ©ν΄ ν¨μλ₯Ό μ μΈνλ€. ν¨μ νΈμΆ μ μΈμλ‘ λ΄μ©μ μ λ¬νλ©΄ ν¨μμμ νλΌλ―Έν°λ‘ μΈμλ₯Ό λ°μμ κ·Έλλ‘ μ½λμ μ¬μ©ν μ μλ€. νΈμΆννλ
ν¨μλͺ ( )
μ΄λ€.리ν΄μ΄ μλ ν¨μ
def hello_return(world): value = "Hello, " + str(world) return value str = hello_return("Niceman") print(str)
리ν΄μ λͺ μνμ§ μμΌλ©΄ ν¨μλ λ°ννλ κ°μ΄ μμ΄μ ν¨μ μ€νκ²°κ³Όλ₯Ό λ€λ₯Έ λ³μμ λ΄μ μ μλ€. ν¨μ μ€ν κ²°κ³Όλ₯Ό κ°μ ΈμμΌν κ²½μ°, λ°νν΄μΌν κ°μ 리ν΄μΌλ‘ λͺ μνλ©΄ μ€νκ²°κ³Όλ₯Ό νΈμΆν κ³³μ μ λ¬ν μ μλ€.
λ€μ€λ¦¬ν΄
def func_mul1(x): y1 = x * 2 y2 = x * 4 y3 = x * 6 return y1, y2, y3 val1, val2, val3 = func_mul1(3) print(val1, val2, val3)
ν¨μμμ 리ν΄κ° 3κ°κ° λμ΄μ€κΈ° λλ¬Έμ ν¨μλ₯Ό νΈμΆνλ λ³μλ 3κ°λ₯Ό λ§λ€μ΄μΌ νλ€.
return (y1, y2, y3) return [y1, y2, y3] return {'ret1': y1, 'ret2': y2, 'ret3': y3}
λ€μ€λ¦¬ν΄μ νν, 리μ€νΈ, λμ λ리 νμ μΌλ‘ νλμ λ³μμ λ°μ μ μλ€.
κ°λ³μΈμ
*args
def args_func(*args): # 맀κ°λ³μλͺ μμ λ‘κ² λ³κ²½ κ°λ₯ for i, v in enumerate(args): print('{}'.format(i), v, end=' ') args_func('Kim') args_func('Kim', 'Park') args_func('Kim', 'Park', 'Lee') print()
맀κ°λ³μμ λͺ κ°κ° λμ΄μ¬μ§ λͺ¨λ₯Ό λ, 맀κ°λ³μμ λ°λΌ ν¨μμ μλμ λ€λ₯΄κ² λ§λ€ λ μ¬μ©νλ€. ννννλ‘ λμ΄μ€κΈ° λλ¬Έμ λ°λ³΅λ¬Έμ μ¬μ©ν μ μλ€. ννμ μΈλ±μ€κ° μκΈ° λλ¬Έμ enumerate(args)ν¨μλ₯Ό μ¬μ©νλ©΄ μΈλ±μ€λ₯Ό λ§λ€μ΄μ λ°λ³΅λ¬Έμ λ릴 μ μλ€.
**kwargs
def kwargs_func(**kwargs): for v in kwargs.keys(): print('{}'.format(v), kwargs[v], end=' ') kwargs_func(name1='Kim') kwargs_func(name1='Kim', name2='Park') kwargs_func(name1='Kim', name2='Park', name3='Lee') print()
λ³νκ° λκ° μΌ λ λμ λλ¦¬λ‘ λ°λλ€. ν¨μλ₯Ό νΈμΆν λ λμ λ리 ννλ‘ λ겨μ€λ€. κ°λ³μΈμλΌ μ¬λ¬ κ°λ₯Ό λκΈΈ μ μμΌλ©° μΈμλ₯Ό λκΈ°μ§ μμλ λλ€.
μ 체 νΌν©
def example(arg_1, arg_2, *args, **kwargs): print(arg_1, arg_2, args, kwargs) example(10, 20, 'park', 'kim', 'lee', age1=33, age2=34, age3=44)
κΈ°λ³Έ 맀κ°λ³μ μ리μ λ°λμ νλμ© μ¨μ€μΌ νκ³ κ°λ³μΈμ μ리μ μ μ°νκ² κ°μ μ λ¬ν μ μλ€.
μ€μ²©ν¨μ
def nested_func(num): def func_in_func(num): print(num) print("In func") func_in_func(num + 100) nested_func(1)
nested_func()ν¨μλ₯Ό νΈμΆνκ³ μΈμ 1μ μ λ¬νλ€. νΈμΆλ ν¨μλ 1μ λ°κ³ κ·Έ μμ μ€μ²©λ ν¨μλ 1μ λ°μλ€. func_in_func()λ μμ§ νΈμΆλμ§ μμμ νλ¦°νΈλ¬Έμ΄ μ€νλμ§ μλλ€. λ¨Όμ λ°κΉ₯ν¨μμ νλ¦°νΈλ¬Έμ΄ μ€νλλ©° κ·Έ μ΄νμ func_in_func()κ° νΈμΆλμ΄μ 1+100μ μ λ¬λ°κ³ 101μ μΆλ ₯νκ² λλ€.
π‘ νμ΄μ¬ λ°μ½λ μ΄ν°, ν΄λ‘μ λ₯Ό λ 곡λΆν΄λ³΄κΈ°
Hint
def tot_length(word: str, num: int) -> int: return len(word) * num print(tot_length("i love you", 10)) # 100
νλΌλ―Έν°μ μλ£νμ μ ν΄μ£Όκ³ 리ν΄νμ λ λͺ μν΄μ μ΄λ€ μΈμλ₯Ό λ°μμμΌν μ§ ννΈλ₯Ό μ€ μ μλ€. λͺ μμ μΌλ‘ ν¨μμ μ λ ₯κ°κ³Ό μΆλ ₯κ° νμ μ μλ €μ£Όλ λ°©λ²μ΄λ€.
λλ€μ
λ©λͺ¨λ¦¬ μ μ½, κ°λ μ± ν₯μ, κ°κ²°ν μ½λλ₯Ό μμ±νλ€λ μ₯μ μ΄ μλ€.
μΌλ°ν¨μλ κ°μ²΄ μμ±μ νλ©΄ μ¬μ¬μ©ν μ μκ² λ©λͺ¨λ¦¬λ₯Ό ν λΉνλ€. λλ€λ μ¦μ μ€ν ν¨μμ΄κΈ° λλ¬Έμ μ¬μ© ν λ©λͺ¨λ¦¬μμ μ¬λΌμ§λ€. λ°λΌμ λ©λͺ¨λ¦¬λ₯Ό μ’ λ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μλ€. νμ§λ§ μ½λλ₯Ό λ°λ‘ μμλ³Ό μ μλλ‘ λλ€λ μ΅λͺ ν¨μκ° νμν κ²½μ°μλ§ μ¬μ©νλ κ² μ’λ€.
μΌλ° ν¨μ
def mul_func(num): return num * 10 var_func = mul_func print(mul_func(5))
μΌλ°ν¨μ fucλ₯Ό λ³μμ ν λΉνλ€. var_funcλ₯Ό νλ¦°νΈν΄λ³΄λ©΄
<function mul_10 at 0x00C492B0>
μ΄λ°μμΌλ‘ μΆλ ₯λλ€. μ΄ ν¨μλ₯Ό νΈμΆνμ§ μμμ§λ§ μ΄λ―Έ λ©λͺ¨λ¦¬μ μ¬λΌκ° μλ€.λλ€ ν¨μ
lambda_func = lambda num: num * 10
lambda ν€μλ λ°λ‘λ€ μ’νμ numμ μΈνμ κ°λ¦¬ν€λ©° μ°νμ num*10μ μΆλ ₯μ κ°λ¦¬ν¨λ€. λΆνμν κ²μ λ€ μ§μ°κ³ 맀κ°λ³μμ 리ν΄κ°μ νμ€λ‘ λͺ μνλ€.
def func_final(x, y, func): print(x * y * func(10)) func_final(10, 10, lambda_func) print(func_final(10, 10, lambda x: x * 1000))
ν¨μλ 맀κ°λ³μλ‘ λ°μ μ μλ€. μ΄λ κ² ν¨μλ₯Ό λ± νλ² λ°λ‘ μ€νμν€κ³ λ λ¦¬κ³ μΆμ λ κ°λ¨νκ² λλ€ν¨μλ₯Ό μ¬μ©ν΄μ λ©λͺ¨λ¦¬λ₯Ό μ μ½ν μ μλ€.
π NEXT : νμ΄μ¬ ν΄λμ€μ μμ 곡λΆνκΈ°
λ°μν'PYTHON' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νμ΄μ¬ κΈ°μ΄ 6. ν΄λμ€μ μμ (0) 2020.08.31 νμ΄μ¬ κΈ°μ΄ 4. 쑰건문과 λ°λ³΅λ¬Έ (0) 2020.08.29 νμ΄μ¬ κΈ°μ΄ 3. 리μ€νΈ, νν, λμ λ리, μ§ν© μλ£ν (0) 2020.08.27 νμ΄μ¬ κΈ°μ΄ 2. μ«μνκ³Ό λ¬Έμν λ°μ΄ν°νμ (0) 2020.08.26 νμ΄μ¬ κΈ°μ΄ 1. λ¬Έμμ΄ μΆλ ₯κ³Ό μ΅μ μ¬μ© (0) 2020.08.24