파이썬에서 동적 함수 호출
프로그래밍/파이썬 2012. 3. 22. 13:47 |
if status == 'CONNECT':
return connect(*args, **kwargs)
elif status == 'RAWFEED':
return rawfeed(*args, **kwargs)
elif status == 'RAWCONFIG':
return rawconfig(*args, **kwargs)
elif status == 'TESTFEED':
return testfeed(*args, **kwargs) ...
이런식으로 코드를 짜고자 할 때 ..
funcs = { 'CONNECT': connect,
'RAWFEED': rawfeed,
'RAWCONFIG' : rawconfig,
'TESTFEED': testfeed }
funcs[status](*args, **kwargs)
또는
import module
getattr(module, status.lower())(*args, **kwargs)
import module
return getattr(module, status.lower()).__call__(*args, **kwargs)
import math
getattr(math, 'sin')(1)