goodthings4me.tistory.com
■ 파이썬은 모든 것을 객체로 처리한다.
def say():
print('hello~')
print(type(say)) # <class 'function'> 함수도 function 이라는 클래스
print(type(10)) # <class 'int'>
# 파이썬에서는 정수도 실수도 객체이고, 함수도 객체이다.
def caller(f): # 함수가 객체이기 때문에 caller 함수에 매개변수로 전달
f() # caller 함수 호출 시, 매개변수인 함수 say 실행
caller(say) # hello~
# 함수 내 함수를 만들어서 반환
def func(n):
def exp(x): # 함수 내에서 정의된 함수
return x ** n
return exp # 함수를 반환
f1 = func(3) # f1 == exp(x)
res = f1(5) # exp(5)와 동일
print(res) # 125
# exp()를 대체할 수 있는 이름없는 함수 : 람다(lambda)
f2 = lambda : 'Hello, I\'m lambda.' # return 없이 반환
print(f2) # <function <lambda> at 0x0000022043C150D0>
print(f2()) # Hello, I'm lambda.
f3 = lambda n: n // 2
print(f3(5)) # 2
def func(n):
return lambda x : x ** n
f3 = func(3) # lambda 반환
res = f3(5)
print(res) # 125
[참고자료] 윤성우의 열혈 파이썬 중급편
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] n부터 시작하여 m까지 연속하는 숫자의 합은? (0) | 2020.08.20 |
---|---|
[python] 클래스(class)와 객체(object) 이해하기 (0) | 2020.08.19 |
[python] 변경 가능한 객체(mutable), 변경 불가능한 객체(immutable) - #2 (1) | 2020.08.15 |
[Python] 파이썬 list, tuple, dict, set의 스페셜 메서드 정리 (1) | 2020.08.12 |
[python] 변경 가능한 객체(mutable), 변경 불가능한 객체(immutable) - #1 (0) | 2020.08.12 |
댓글