python 需要1个参数(给了2个)

1 投票
1 回答
1121 浏览
提问于 2025-04-18 08:04

在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,但它却说只接受一个参数,这是什么情况呢?

1 个回答

3

你在使用 ** 来传递关键字参数。而单个的 * 是用来传递位置参数的。

def alertmenewsignup(self, **kwargs)

会被调用

updateme.alertmenewsignup(info=info)

def alertmenewsignup(self, *args)

可以用位置参数来调用

updateme.alertmenewsignup(info)

撰写回答