민서네집

[python] 파라미터로 function 정의해서 넘기기 본문

Python

[python] 파라미터로 function 정의해서 넘기기

브라이언7 2014. 10. 14. 14:45

파라미터로 function 정의해서 넘기기


☞ lambda Function을 이용하면 된다.


4.7. Using lambda Functions


http://www.diveintopython.net/power_of_introspection/lambda_functions.html


a = 10


def calc(func):

    print (func())


def calc_plus():

    return a+b


b = 5


#calc(calc_plus)


calc(lambda : a+b)


Is it possible to have multiple statements in a python lambda expression?


Note that functions created with lambda expressions cannot contain statements.


하나의 lambda Function에서 여러 개의 statements 도 실행할 수 있다.


Executing multiple statements with one anonymous function


http://pastebin.com/JNquX1Kh


x1 = [5,4,3]
x2 = [7,6,5]
sort_both = lambda: [x1.sort(), x2.sort()]
print (sort_both()) # now x1=[3, 4, 5] and x2=[5, 6, 7]
print (x1)
print (x2)

[실행 결과]


[None, None]

[3, 4, 5]

[5, 6, 7]


※ Google에서 python multiline lambda 라고 검색해 보면 좀 더 많은 정보를 알 수 있다.


Comments