我非常清楚,eval
在Python中使用它并不是一个好习惯.这是我的代码:
from hashlib import * # added for clarification def get_hash(self): if self.hash_type in ['md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512']: data = eval(self.hash_type) # <--- how can I replace this?
我听说过这个setattr
功能,但老实说我不知道如何实现它.
是否也可以通过使用该map
功能来做到这一点?
请注意,'md5', 'sha1', 'sha224'
etc等是局部变量.当我eval
在其中一个上使用该功能时,它们就变成了功能.