如何getattr独立函数(即不在类中的函数)?

2013-01-31 21:24:50 +08:00
 luztak
有些函数没必要写在类里,而类需要根据输入调用这些函数......谢了先.
3466 次点击
所在节点    Python
4 条回复
xiaket
2013-01-31 22:47:29 +08:00
func = locals().get(function_name)
func()
ccp0101
2013-02-01 10:51:45 +08:00
这个函数总会属于某个父对象吧。不再类里面会在拿那个module里面。

以下是我没有测试的代码:
getattr(imported_module, "function_name")会返回某个已经导入的module内的函数。
假如是同个module内调用可以用getattr(globals(), "function_name")。
BOYPT
2013-02-01 10:56:16 +08:00
写在另外一个类里....
tysx
2013-02-01 16:45:27 +08:00
import sys

m = sys.modules[__name__]
getattr(m, function_name)()

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/59407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX