开发者社区 问答 正文

python将方法转换为函数

假设我有一个对象,叫做myMD5,像这样:

<md5 HASH object @ 0xb79b9860>

这是dir(myMD5):

['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'block_size', 'copy', 'digest', 'digest_size', 'digestsize', 'hexdigest', 'name', 'update']

我需要获取散列字符串,为此需要调用myMD5.hexdigest()。 问题是,我实际上正在进行一个挑战(称为PyJail),并且禁止使用字符点(.)。 我需要用另一种方式调用这个方法。 有什么方法可以像函数那样调用它吗?是这样的:

hexdigest(myMD5)

我试着这么做了,但是没用:

getattr(myMD5, dir(myMD5)[-3]) # returns <classmethod object at 0xb79b998c>

PS;该挑战还禁止使用其他元素,如使用引号(',")、使用import语句、使用exec或eval等。 问题来源StackOverflow 地址:/questions/59467312/python-convert-a-method-to-a-function

展开
收起
kun坤 2019-12-25 09:23:42 508 分享 版权
0 条回答
写回答
取消 提交回答