python报错 TypeError: a() got multiple values for argument 'name'


[问题现象]

在一次调用修饰函数中出现了问题,折腾了一下午,一直报错 TypeError:  got multiple values for argument

只是很简单的调用

from tsu2Runner import AndroidActions

auto = AndroidActions()
auto.log(1, 2, text='应用市场', name='lucy')
class AndroidActions(object):
    def a(self, name, *args, **kwargs):
        print('i am a')
        print(name)
        print(args)
        print(kwargs)

    def log(self, fun):
        def wrapper(self, *args, **kwargs):
            print(args)
            # fun(self, *args, **kwargs)
            P = AndroidActions()
            P.a('123', *args, **kwargs)
            fun(self, *args, **kwargs)
            pass
        return wrapper

经过翻阅查找,意思是传参错误,但是并不知道是哪里错了,因为看代码是完全没问题的!!!自己在另一边写了测试代码也完全可以运行的,但是在项目代码中就会报错

[问题原因]

折腾了一下午,最后依靠谷爹进行一番查阅找到了原因

原因是字典d里面还存在关键字'name‘,python解释器报错

[解决办法]

在传参的时候,避免使用python自带的常用关键字


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM