파이썬 함수 본문
# *args -> Tuple return, 여러개 인자 리턴
# **kwargs -> Dict return / key-value 구조
def example_mul(arg1, arg2, *args, **kwargs):
print(arg1, arg2, args, kwargs)
example_mul(10, 20, 'park', 'kim', name1 = 'lee')
# 중첩 함수 (클로저) - 함수안에 함수가 있음 -> 변수 선언 줄이고 메모리 관리 효율적
def nested_func(num):
def func_in_func(num):
print('>>>', num)
print("In func")
func_in_func(num + 10000)
nested_func(10000)
# 힌트
def func_mul3(x: int) -> list:
y1 = x*100
y2 = x*200
return [y1,y2]
print(func_mul3(5))
# 람다식 예제
# 메모리 절약, 가독성 향상, 코드 간결
# 함수는 객체 생성 -> 리소스(메모리) 할당
# 람다는 즉시 실행 (Heap 초기화) -> 메모리 초기화
lambda_mul_10 = lambda x: x* 10
print(lambda_mul_10(10))
def func_final(x,y,func):
print(x*y*func(10))
func_final(10, 10, lambda_mul_10)
func_final(10,10, lambda x: x* 1000)
'개발 > Python' 카테고리의 다른 글
파이썬 예외 처리 (0) | 2020.06.10 |
---|---|
파이썬 파일 읽기, 쓰기 (0) | 2020.06.10 |
문자열 역순 출력 (0) | 2020.06.06 |
파이썬 자료형 기본 활용 (0) | 2020.06.03 |
filter() (0) | 2020.05.13 |