**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
昨天关门了。
Improve this question
不断得到这个错误,但我遵循我的老师的指示。
这是我的.py文件![animal_shelter(1)](https://i.stack.imgur.com/w4JUz.png)animal_shelter(2)
我能想到的办法都试过了。期待着这个结果。
4条答案
按热度按时间dwbf0jvd1#
Animalshelter类不接受init函数中的任何参数,您给了它一个用户名和密码。
您没有为用户名或密码指定任何参数。
作为建设,这应该是好的。
piok6c0g2#
这是因为,在类构造中,你有:
__init__(self)
,这意味着它将自动将自己作为第一个参数,并且不会接受任何其他参数。但是从ERROR镜像看,好像是
shelter = AnimalShelter(username, password)
这意味着您要提供另外两个参数,即
username
和password
。但是构造函数不能有更多的,正如我上面所解释的。溶胶
所以你可以做的是:
或者
创建一个单独的方法来处理用户名和密码
然后将避难所初始化为
lx0bsm1f3#
谢谢你提供的图片,它们有助于理解这个问题!之所以会遇到这个问题,是因为当你定义
__init__()
函数时,只有一个参数,即self
(这是一个你必须传递给类方法的参数)。理想情况下,你应该像这样重写init()函数:这个想法是,在你的Jupyter Notebook中,你传递一个参数,一个用户名和密码,它们没有被定义为AnimalShelter类的
__init__()
函数的参数。我假设您希望在连接到Mongo客户端时使用这些参数。vcirk6k64#
构造函数应该像definit(self,client,database,collection)这样:self.client = blah blah so on