通过Python中的指针接收参数

vet*_*yan 2 python arguments

我有一个类,其功能定义如下.我的目的是向它发送多个参数.

为了测试,我称之为:class_name("argument1","argument2"),并且它说:__init__accepts atmost 1 arguments , 3 given

def __init__(self, **options):
    for name in options:
        self.__dict__[name] = options[name]
Run Code Online (Sandbox Code Playgroud)

处理这个问题的正确方法是什么?

欢迎任何建议......

GWW*_*GWW 5

您想使用一个星号而不是两个.双星号用于命名参数.如果您有兴趣进一步阅读,python 文档中有一个很好的解释.

def __init__(self, *options):
    for name in options:
        self.__dict__[name] = name
Run Code Online (Sandbox Code Playgroud)

但是,从您的代码中我认为真正的问题是您错误地调用了您的函数.

您可能希望将其称为:

class_name(argument1="some value")

def __init__(self, **options):
    for name,val in options.iteritems():
        self.__dict__[name] = val
Run Code Online (Sandbox Code Playgroud)