You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多个函数参数存入单个变量,实现一处修改多处复用?

统一管理请求参数,告别重复修改的麻烦

太懂这种重复改代码的痛苦了!你想要把重复的请求参数整合到单个变量里,后续只改一次就能同步所有请求,这个思路完全正确,咱们用Python的字典+关键字参数解包就能轻松实现。

基础实现:用字典存储共用参数

直接把所有重复的参数塞进一个字典,然后用**操作符把字典解包成关键字参数传给对应的requests方法,这样每个请求调用都变得非常简洁:

def request_function(self):
    # 把所有共用请求参数统一放在这里,后续改参数只动这一处
    request_params = {
        "url": self.main_url + self.api_url,
        "json": self.json_file,
        "headers": self.headers
    }
    
    if self.request_type == "get":
        return requests.get(**request_params)
    elif self.request_type == "post":
        return requests.post(**request_params)
    elif self.request_type == "delete":
        return requests.delete(**request_params)
    elif self.request_type == "put":
        return requests.put(**request_params)

进阶优化:用方法映射精简判断逻辑

如果觉得一堆if-elif看着不舒服,还可以用一个方法映射字典来替代判断,让代码更简洁易维护,以后加新请求类型也只需要在映射里加一行:

def request_function(self):
    request_params = {
        "url": self.main_url + self.api_url,
        "json": self.json_file,
        "headers": self.headers
    }
    
    # 建立请求类型与对应requests方法的映射
    method_mapping = {
        "get": requests.get,
        "post": requests.post,
        "delete": requests.delete,
        "put": requests.put
    }
    
    # 通过映射获取方法并调用,这里可以加个默认处理避免KeyError
    request_method = method_mapping.get(self.request_type)
    if request_method:
        return request_method(**request_params)
    # 可选:处理未知请求类型的情况
    raise ValueError(f"Unsupported request type: {self.request_type}")

这样不管是修改参数还是扩展请求类型,都只需要修改对应的字典,彻底告别重复修改的麻烦!

内容的提问来源于stack exchange,提问作者Saba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:22:57