개발/Python

파이썬 함수

Louisus 2020. 6. 10. 16:59
728x90

# *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)