python解释器能否在重新声明的函数上失败?

python解释器能否在重新声明的函数上失败?,第1张

python解释器能否在重新声明的函数上失败?

您可以创建一个装饰器,该装饰器可以比较函数的名称,也可以将其存储在字典中。如果键已经存在,则可以从装饰器抛出异常!在开发过程中使用此装饰器装饰您的所有功能。完成所有测试后,您就可以摆脱装饰!

就像是

#import sysif sys.argv[1] == "--def-strict":    def duplicateFinder(f):        if globals().has_key(f.__name__): raise AttributeError, "This module already has a function %s defined" % f.__name__        return felse:    def duplicateFinder(f):        return f@duplicateFinderdef myFunction():    print "Hello World!"@duplicateFinderdef myFunction():    print "Hello World Again!!!"

使用“ python –def-strict脚本名”运行时,这应该引发错误。

编辑:添加您的假设–def-
strict!另外,也不需要保留单独的__functionNames字典。globals()字典足够好。因此,对其进行编辑以反映出相同的含义!



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5587685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存