python只接受1个参数(给定2个)
在django中获取此错误: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
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)