您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

就像是

#import sys

if 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 f
else:
    def duplicateFinder(f):
        return f

@duplicateFinder
def myFunction():
    print "Hello World!"

@duplicateFinder
def myFunction():
    print "Hello World Again!!!"

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

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

python 2022/1/1 18:45:47 有419人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶