python에서 변수가 값에 대한 이름표라면 함수 이름은 코드에 대한 이름표이다.
함수를 정의하게 되면 실제로 아무것도 일어나지 않는다고 배웠다.
아래 코드를 실행하게 되면,
def hello():
print("hello")
파이썬 인터프리터가 메모리에 함수 객체를 할당하고 이를 hello라는 함수 이름이 바인딩하게 된다.
>>> id(hello)
4399217408
hello는 스택메모리, 함수는 힙 메모리
함수 이름은 함수 객체를 바인딩한다.
def hello():
print("hello")
f = hello
f()
f의 이름으로 hello 함수 객체를 바인딩한 후에 ( )를 통해 호출할 수 있다.
'Programming > Python' 카테고리의 다른 글
python typing optional (0) | 2022.03.23 |
---|---|
python의 LEGB 규칙 (0) | 2022.01.11 |
python 비교 연산자와 is 연산자 (0) | 2022.01.11 |
#7 Python 코딩테스트 최단 경로 알고리즘 (0) | 2021.11.17 |
#6 Python 코딩테스트 다이나믹 프로그래밍(DP) (0) | 2021.10.23 |
댓글