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

多模式随机图生成函数的可选参数实现是否有通用规范?

随机图生成函数的多模式参数设计规范问题

我想编写一个生成随机图的函数,随机图有不同类型,打算用mode参数控制函数行为(目前支持"regular"和"er"两种模式)。每种模式需要不同的输入参数,而且后续可能会添加需要不同数量参数的新模式,想问下这类实现有没有通用规范?

我自己想到了两种方案:

方案一:设置多个可选参数

仅在对应模式被调用时使用对应参数:

def create_random_graph(number_of_vertices, mode = "regular", degree = 3, edge_probability = 0.5):
    if mode == "regular":
        # 使用 degree 创建正则随机图,不涉及 edge_probability
    elif mode == "er":
        # 使用 edge_probability 创建ER随机图,不涉及 degree

优点:调用方式简单直观;
缺点:新增模式会让函数签名越来越臃肿,特定模式下部分参数完全不会被用到。

方案二:通过字典传递模式参数

把各模式需要的参数打包进字典传入:

def create_random_graph(number_of_vertices, mode = "regular", param_dict = None):
    if mode == "regular":
        if param_dict is None:
            degree = 3
        else:
            degree = param_dict["degree"]
        # 创建正则随机图
    # 其他模式同理,从字典中读取对应参数

优点:函数签名不会因新增模式而膨胀;
缺点:调用和编写文档的难度更高,默认参数的展示也不够直观。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:01:13