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