python只接受1个参数(给定2个)

python只接受1个参数(给定2个),python,django,Python,Django,在django中获取此错误: alertmenewsignup() takes exactly 1 argument (2 given) 这是我的密码 info = { ...stuff ... } updateme = blablaEmail() updateme.alertmenewsignup(info) class blablaEmail(object) def __init__: ...stuff.... def alertmenewsignup(s

在django中获取此错误:

alertmenewsignup() takes exactly 1 argument (2 given)
这是我的密码

info = { ...stuff ... }
updateme = blablaEmail()
updateme.alertmenewsignup(info)

class blablaEmail(object)
    def __init__:
        ...stuff....
    def alertmenewsignup(self, **kwargs):

我在函数中声明了self和**kwargs,但它声称只接受一个参数?

您正在使用
**
作为关键字参数。而单个
*
用于位置参数

def alertmenewsignup(self, **kwargs)
将被称为

updateme.alertmenewsignup(info=info)

可以使用位置参数调用

updateme.alertmenewsignup(info)

**kwargs
保存关键字参数,您提供了一个位置参数。@ZeroPiraeus:是的,很抱歉我修复了这个问题。我现在真的很困惑。那么**kwargs的用途是什么???我认为字典应该作为参数传递?我一直认为即使是“位置参数”也可以与alertme(info=info,tim=tim)一起“无序”使用,即使您将其定义为alertme(tim,info)@StrikePricer no,Python不会像那样为您发明参数名称。@StrikePricer当您使用名称显式声明位置参数时,您可以在调用函数时使用位置参数或关键字参数来指定它们。当您声明**kwargs时,kwargs会保存未映射到显式声明的位置参数的“遗留”关键字参数字典。
updateme.alertmenewsignup(info)