컴퓨터 공학

👉 [Python] String 값으로 함수 호출하기

bitcodic 2019. 12. 5. 19:54

String 값으로 함수를 실행시키고자 할 때 쓰는 방법

 

locals()[String 변수]()

 

공식문서

locals()

Update and return a dictionary representing the current local symbol table. Free variables are returned by locals()
 when it is called in function blocks, but not in class blocks.

공식문서에 따르면 local 변수에 대해서 dict type으로 반환한다고 한다.

테스트 해보면 다음과 같다.

a = 1
b = [1,2,3]

def test():
    print("Go !")

print("locals():", locals())
print()
print("locals()[test]:", locals()["test"])
print()
locals()["test"]()​

 

locals(): {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'a': 1, 'b': [1, 2, 3], 'test': <function test at 0x7f53cb813b00>}

locals()[test]: <function test at 0x7f53cb813b00>

Go !

 

선언된 함수에 대한 참조 어드레스도 볼 수 있다.