如何动态调用Python函数

nemesisdesign:

我有这个代码:

fields = ['name','email']

def clean_name():
    pass

def clean_email():
    pass

我怎么能叫clean_name()clean_email()动态?

例如:

for field in fields:
    clean_{field}()

我使用了大括号,因为这是我以前在PHP中使用的方式,但是显然不起作用。

如何使用Python做到这一点?

卡其色:

如果不想使用globals, vars并且不想创建单独的模块和/或类来封装要动态调用的函数,则可以将它们作为当前模块的属性来调用:

import sys
...
getattr(sys.modules[__name__], "clean_%s" % fieldname)()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章