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自带的常用关键字

  • 相关阅读:
    博主简介
    P1005 矩阵取数游戏
    P2051 [AHOI2009]中国象棋
    P1070 道路游戏
    P2577 [ZJOI2005]午餐
    P1169 [ZJOI2007]棋盘制作
    P1273 有线电视网
    P2467 [SDOI2010]地精部落
    P2331 [SCOI2005]最大子矩阵
    P2216 [HAOI2007]理想的正方形
  • 原文地址:https://www.cnblogs.com/semishigure/p/11384979.html
Copyright © 2011-2022 走看看