我有这个代码:
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] 删除。
我来说两句