파이썬 함수호출(Symbol)

Hyo Kyun Lee·2021년 5월 23일
0

Python

목록 보기
19/26

1. 개념

  • 함수호출은 해당 로직의 순서가 아닌, Symbol의 유무로 이루어진다.
  • 파이썬은 기본적으로 단계적으로 아래로 내려가며 로직을 수행한다.
  • 함수가 정의될 경우엔 Symbol table에 저장되고, table에 저장된 후엔 함수실행시점에서 함수선언전이라 하여도 함수 사용이 가능해진다.

2. 코드예시

최종실행시점에서 두 함수 모두 Symbol table에 저장된다.
sum_second > print_first > sum_first> print_second 순서대로
Symbol table에 저장되어, 이후 로직 실행시 참조가능.

def sum_second(a, b):

    print_first(a, b)
    return a + b

def print_first(a, b):
    print(a, b)


def sum_first (a, b):
    print_second(a, b)
    return a + b

def print_second(a, b):
    print(a, b)



print(sum_second(1,2))
print(sum_first(3,4))

결과(선언전이어도 Symbol table에 저장되어 정상적인 로직수행가능

1 2
3
3 4
7

3. 참고사이트

https://hashcode.co.kr/questions/4831/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%80-%ED%95%A8%EC%88%98%EC%97%90%EC%84%9C-%EB%8B%A4%EB%A5%B8-%ED%95%A8%EC%88%98%EB%A5%BC-%ED%98%B8%EC%B6%9C%ED%95%A0-%EB%95%8C-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%84%A0%EC%96%B8-%EC%88%9C%EC%84%9C%EC%97%90-%EC%83%81%EA%B4%80%EC%97%86%EC%9D%B4-%ED%98%B8%EC%B6%9C%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-%EA%B2%83%EC%9D%B4%EC%A3%A0

4. remind

코드에 대한 이해가 우선이다. sugar syntax보다는 sugar logic!

0개의 댓글