如题,我应该怎么比较函数是否一致?
因为我要做一个函数黑名单的功能,不被授权的函数不允许调用。
仅仅通过函数名去验证不行,因为有的函数可能同名,只是所属类不一样而已
如题,我应该怎么比较函数是否一致?
因为我要做一个函数黑名单的功能,不被授权的函数不允许调用。
仅仅通过函数名去验证不行,因为有的函数可能同名,只是所属类不一样而已
对于用户定义函数,比较函数的 __code__
属性(Python 3)是否在许可的列表里即可。对于内建函数,既然你要限制,不至于允许用户加载C库的吧?那么比较函数地址就可以了。
不过别以为这样就可以高枕无忧了,绕过应该不难的。比如 sort 函数里边就接受一个作为函数的参数。
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
2 回答502 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
好吧~~我钻牛角尖了
如果仅仅是函数对比使用 == 就行了
但是我这边情况有点特殊
所以只能比名字了