我目前正在为 Snapchat 广告编写 API 连接器。我写了一个类。但是,在测试时,我看到了不寻常的行为。下面的代码说明了这种行为。使用 3.7 版import requestsfrom requests_oauthlib import OAuth2Sessionimport datetime as dtclass SnapchatAPI(object): def __int__(self, client_id, client_secret, org_id): self.client_id = client_id self.client_secret = client_secret self.org_id = org_id比如上面是类的声明。当我运行它并尝试在没有参数的情况下实例化它时。它仍然有效。[它不应该。但确实如此]。我无法弄清楚为什么SnapchatAPI() 没有提高和错误就可以工作?extractor = SnapchatAPI()然而,在试图弄清楚我回到了像下面这样的简单类来检查行为时class Person(object): def __init__(self, firstname, lastname, address): self.firstname = firstname self.lastname = lastname self.address = address 当我尝试在没有参数的情况下实例化它时。它引发了一个错误。这是我所期望的john_doe = Person()Traceback (most recent call last): File "<pyshell>", line 1, in <module>TypeError: __init__() missing 3 required positional arguments: 'firstname', 'lastname', and 'address'想不通为什么!
1 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
如果您发布的内容正是您的脚本中的内容,那么它就是一个简单的错字。您已定义__int__而不是__init__. 当一个类没有被赋予一个方法时,__init__()它继承自我相信。这不需要任何参数,因此它在没有您明确定义方法的情况下工作。__init__object()__init__
添加回答
举报
0/150
提交
取消
