Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数映射到值的Python快捷方式?_Python_Python 3.x - Fatal编程技术网

将参数映射到值的Python快捷方式?

将参数映射到值的Python快捷方式?,python,python-3.x,Python,Python 3.x,我有这个功能: @staticmethod def get_curl_params(url=None, headers=None, post=None, curl_proxy=None, curl_success=None, should_use_cookies=False, should_follow_location=False, should_include_referer=False, custom_request='Get',

我有这个功能:

@staticmethod
def get_curl_params(url=None, headers=None, post=None, curl_proxy=None, curl_success=None, should_use_cookies=False,
                    should_follow_location=False, should_include_referer=False, custom_request='Get',
                    should_verify_ssl=False, head=None, timeout_limit=60, site_rate_limit_seconds=None):

    curl_params = CurlParameters()
    curl_params.url = url
    curl_params.headers = headers
    curl_params.post = post
    curl_params.curl_proxy = curl_proxy
    curl_params.curl_success = curl_success
    curl_params.should_use_cookies = should_use_cookies
    curl_params.should_follow_location = should_follow_location
    curl_params.should_include_referer = should_include_referer
    curl_params.custom_request = custom_request
    curl_params.should_verify_ssl = should_verify_ssl
    curl_params.head = head
    curl_params.timeout_limit = timeout_limit
    curl_params.site_rate_limit_seconds = site_rate_limit_seconds
    return curl_params

它将创建一个新的curl_params对象。现在,我传递的所有参数最终都被分配给curl_params.{{VARIABLE NAME}。这样做有捷径吗?以这种方式分配它似乎是重复和明显的

我认为这应该行得通
locals
获取所有局部变量(在本例中为函数中的所有变量)的
dict


你能用
locals()
将所有参数传递给构造函数吗?对不起,没有问题,我怎么做?答案的左边应该有一个复选标记(在向下箭头下方)。点击表示这是您问题的正确答案(然后其他人知道问题已解决)。
def get_curl_params(url=None, headers=None, post=None, curl_proxy=None, curl_success=None, should_use_cookies=False,
                    should_follow_location=False, should_include_referer=False, custom_request='Get',
                    should_verify_ssl=False, head=None, timeout_limit=60, site_rate_limit_seconds=None):

    kwargs = locals()

    # if you can pass everything to init, this would be nice
    curl_params = CurlParameters(**kwargs)

    # otherwise, you can do this:
    for name, val in kwargs.items():
        setattr(curl_params, name, val)

    return curl_params