-
11.Function공부합시다!/python 2023. 2. 3. 00:15728x90
드디어 무시무시한 함수로 들어가네요!
Code의 편리한 재사용을 위해서 사용하는 것이 함수입니다.
인자값만 바꾸면 그때 그때 재사용을 할 수 있지요!
핵심을 잘 기억하세요!# 함수식 및 람다(lambda) # 함수 정의 방법 # def 함수명(parameter): # code # 함수 호출 # 함수명 # EX-1 return 값 없음 def hello(test): print('Hello',test) hello('Python') hello(7777) # EX-2 return 값 있음 def hello_return(world): val = 'Hello ' + str(world) return val str1 = hello_return('Python!!!!!!!!') print(str1) # EX-3 다중 return def func_mul(x): y1 = x * 100 y2 = x * 200 y3 = x * 300 return y1, y2, y3 val1, val2, val3 = func_mul(100) print(val1, val2, val3) # EX-4 # args(가변형의 매개변수 사용가능, 튜플), *kwagr(딕셔너리 형태) def args_func(*args): print(args) args_func('Kim') args_func('Kim', 'Park') args_func('Kim', 'Park', 'Lee') def args_func1(*args): for t in args: print(t) args_func1('Kim') args_func1('Kim', 'Park') args_func1('Kim', 'Park', 'Lee') # index 표시 def args_func(*args): for i,v in enumerate(args): print(i, v) args_func('Kim') args_func('Kim', 'Park') args_func('Kim', 'Park', 'Lee') # kwargs def kwargs_func(**kwargs): print(kwargs) kwargs_func(name1='Kim') kwargs_func(name1='Kim', name2='Park') kwargs_func(name1='Kim', name2='Park', name3='Lee') # kwagrs-1 def kwargs1_func(**kwargs): for k,v in kwargs.items(): print(k, v) kwargs1_func(name1='Kim') kwargs1_func(name1='Kim', name2='Park') kwargs1_func(name1='Kim', name2='Park', name3='Lee') # 전체 혼합 def exmaple_mul(arg1, arg2, *args, **kwargs): print(arg1, arg2, args, kwargs) exmaple_mul(10, 20) exmaple_mul(10, 20, 'park', 'kim', age1=24, age2=25) # 중첩 함수 (함수내 함수) def nested_func(num): def func_in_func(num): print('>>>',num) print('in func') func_in_func(num + 10000) nested_func(10000) # 예제 - 6 def func_mul(x): y1 = x * 100 y2 = x * 200 y3 = x * 300 return y1, y2, y3 val1, val2, val3 = func_mul(100) print(val1, val2, val3) def func1_mul(z : int) -> list: y11 = z * 100 y12 = z * 200 y13 = z * 300 return [y11, y12, y13] print(func1_mul(5)) # 람다식 # 람다식 : 메모리 절약, 가독성 향상, 코드 간결 # 함수는 객체 생성 -> 리소스(메모리 ) 할당 # 람다는 즉시 실행(heap 초기화) -> 메모리 초기화 # 일반적 함수 -> 변수 할당 def mul_1(num : int) -> int: return num * 10 var_func = mul_1 print(var_func) print(type(var_func)) lambda_mul_2 = lambda num : num * 10 print('>>>', lambda_mul_2(10)) ### 함수내 함수(람다식 사용 가능) def func_final(x, y, func): print(x * y * func(10)) func_final(10, 10, lambda_mul_2) # 1000이라는 값을 곱하려면 넣으려면 print(func_final(10, 10, lambda x :x *1000))
728x90'공부합시다! > python' 카테고리의 다른 글
13. DB: DB data 다루기 - 1 (0) 2023.02.07 12. DB: database 및 table 다루기 (0) 2023.02.06 10.for, while: 흐름제어 (0) 2023.02.02 9.if 조건문: 흐름제어 (0) 2023.02.01 8.Set (0) 2023.01.31