为什么我在调用这个构造函数时会在标题中出现错误?
我使用以下字典调用 User(**args) 作为 args:
{'name': u'Rose Perrone', 'ipAddress': '127.0.0.1', 'email': u'hi@gmail.com'}
这是构造函数:
def __init__(name,
ipAddress,
password=None,
email=None,
deleted=None,
includePromoted=None,
explicit=None):
请您参考如下方法:
首先,让你的第一个参数self。您不必这样做,但这非常非常普遍,当有人阅读您的代码时(就像现在一样),这很烦人:p。
name 在这里表现得像 self。您不应该为 name (self) 传递值,因为 python 已经这样做了。但是,您正在这样做,因为您的字典中有一个关键字 name。因此,您将两个东西传递给一个参数,因此会出现错误。
解决这个问题:
首先,
self!!!!但也不要忘记添加您的
name参数。
总而言之:
args = {'name': u'Rose Perrone', 'ipAddress': '127.0.0.1', 'email': u'hi@gmail.com'}
class MyClass:
def __init__(self,
name,
ipAddress,
password=None,
email=None,
deleted=None,
includePromoted=None,
explicit=None):
pass
MyClass(**args)
# <__main__.MyClass instance at blah>
