python

[python] lambda 함수

전감자(◔◡◔) 2022. 9. 26. 20:49
'''
람다 표현식(lambda)
개요:
    def 함수의 또 다른 표현식

    특징:
        -반드시 단 하나의 실행문을 가진 경우만 람다 표현식으로 변경할 수 있다.
        -함수명이 없다.(익명 함수 , annonymous function)
        ==> 명시적으로 변수에 저장해서 사용한다. (일급객체 특징)
    문법:

        변수명=lambda [변수, 변수2,...]:문장

'''

# 1. 파라미터없고 리턴값 없는 형태

def fun():
    print("fun")
fun()#fun


#lambda 함수
fun=lambda : print("lambda fun")
fun()#lambda fun

# 2. 파라미터 있고 리턴 값은 없는 형태

def fun(n,n2):
    print("fun",n,n2)

#lambda 함수

fun=lambda n,n2:print("lambda fun",n,n2)
fun(10,20)

#3. 파라미터 없고 리턴 값 있는 형태

def fun():
    return 100

result = fun()
print("fun:",result)

fun=lambda : 100 #리턴이 있는 형태에서는 리턴은 빼고 값만 적어준다.
result=fun()
print("lambda fun",result)

# 4.파라미터 있고 리턴값 있는 형태

def fun(n,n2):
    return n+n2

#lambda 함수

fun=lambda n,n2:n+n2
result=fun(10,20)
print("lambda fun:",result)
'''
람다 표현식(lambda)
개요:
    def 함수의 또 다른 표현식

    특징:
        -반드시 단 하나의 실행문을 가진 경우만 람다 표현식으로 변경할 수 있다.
        -함수명이 없다.(익명 함수 , annonymous function)
        ==> 명시적으로 변수에 저장해서 사용한다. (일급객체 특징)
    문법:

        변수명=lambda [변수, 변수2,...]:문장

'''

# 1. default 파라미터
def fun(n1,n2=100):
    print("fun",n,n2)

#lambda 함수
fun = lambda n,n2=100:print("lambda fun",n,n2)
fun(100)
fun(100,200)

fun = lambda n,n2=100:print("lambda fun",n,n2)
fun(n=10,n2=20)

fun = lambda n, *n2: print("lambda fun",n,n2)
fun(1,2,3,4,5) #1 (2, 3, 4, 5)
fun(1,2) # 1 (2,)

# 4. dict packing
def fun(n,*n1,**n2):
    print("fun",n,n1,n2)

fun=lambda n,*n1,**n2 : print("lambda fun",n,n1,n2)
fun(10,20,30,40, name="홍",age=20)

'python' 카테고리의 다른 글

[python] 변수의 scope | random 함수  (1) 2022.09.26
[python] generator 함수  (1) 2022.09.26
[python] 일급객체  (0) 2022.09.26
[python] Dict Packing  (0) 2022.09.26
[python] return 키워드 | default 파라미터 | packing(*)  (0) 2022.09.26