zoukankan      html  css  js  c++  java
  • 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自带的常用关键字

  • 相关阅读:
    kill process
    USB development guide
    MMC device
    memtester
    printf()格式化输出详解
    C语言动态内存分配
    归并排序C语言
    c 文件操作
    数据包分析
    C语言文件操作函数大全
  • 原文地址:https://www.cnblogs.com/semishigure/p/11384979.html
Copyright © 2011-2022 走看看